有没有办法在voltdbcython驱动程序(voltdbclientpython)中运行原始SQL?

2024-06-16 11:56:02 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

 result = volt_procedure.call(some_argument)

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


Tags: namestring过程driversomeprocresultcall
1条回答
网友
1楼 · 发布于 2024-06-16 11:56:02

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

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

对插入件使用内置的“默认”过程,例如表_名称.插入. 对于需要频繁执行的任何内容,如每秒数千次,请尝试使用过程。您可以使用java类或仅使用DDL“CREATEPROCEDURE。。。作为“语法”。如果可能的话,记得对过程进行分区。但是不要害怕使用@AdHoc调用,特别是对于更动态生成的SQL语句。在

免责声明:我为VoltDB工作。在

相关问题 更多 >