python - 有没有办法在 voltdb python 驱动程序(voltdb-client-python)中运行原始 SQL?

标签 python voltdb

我尝试使用 voltdb,它是 python driver 我可以在 voltdb 中创建一个过程并使用 VoltProcedure 调用它。类似:

 volt_procedure = VoltProcedure(volt, "Proc_name", [VoltConnection.VOLTTYPE_STRING])

 result = volt_procedure.call(some_argument)

问题是 - 我可以用这个驱动程序运行原始 SQL 吗?

最佳答案

是的,您可以调用系统过程“@AdHoc”,它接受一个字符串参数,该参数是您要运行的 SQL 语句。

对 @AdHoc 的所有调用都有一些额外的开销,因为它们需要被解析并计划,或者在缓存中找到现有计划。之后,它们的执行方式与预编译的存储过程完全相同。集群中的每个服务器都有一个用于解析和规划的线程池,因此处理 @AdHoc 调用的能力将会扩展,但对于快速简单的 SQL 语句,它通常低于集群执行事务的能力。对于更复杂的SQL,执行事务通常需要更长的时间,因此根据执行时间,解析的能力可能会更快。

使用内置的“默认”过程进行插入,例如TABLE_NAME.插入。对于需要频繁执行的任何操作(例如每秒数千次),请尝试使用过程。您可以使用 java 类或使用仅 DDL“CREATE PROCEDURE ... AS”语法来定义过程。如果可能的话请记住对过程进行分区。但不要害怕使用 @AdHoc 调用,尤其是对于更动态生成的 SQL 语句。

免责声明:我为 VoltDB 工作。

关于python - 有没有办法在 voltdb python 驱动程序(voltdb-client-python)中运行原始 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45955457/

相关文章:

python - 我无法通过 pip 安装 kivy

python - 在Python中,如果以元组中的值开头,我还需要返回哪个值

python - 事件处理程序中的 Pyramid 重定向

python - 如何断开函数与 QAction 的连接?

python - Django 和换行问题

database - voltdb中使用了哪些数据结构

Javascript - 使用 fetch 查询 VoltDB api

液体碱 : How to use <preconditions> with changeset having runAlways true?