Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python sqlalchemy并行操作_Python_Sqlalchemy - Fatal编程技术网

python sqlalchemy并行操作

python sqlalchemy并行操作,python,sqlalchemy,Python,Sqlalchemy,嗨,我有一个多线程程序,所有线程都将在oracle上运行 DB。那么,sqlalchemy能够支持oracle上的并行操作吗 tks 只要每个并发线程都有自己的会话,您就可以了。尝试使用一个共享会话会给您带来麻烦。只要每个并发线程都有自己的会话,您就可以了。尝试使用一个共享会话会遇到麻烦。OCI(oracle客户端接口)有一个参数OCI_THREADED,该参数具有连接被静音的效果,因此通过多个线程进行并发访问是安全的。这可能是您看到的文档所指的设置 cx_oracle,本质上是一个Python

嗨,我有一个多线程程序,所有线程都将在oracle上运行 DB。那么,sqlalchemy能够支持oracle上的并行操作吗


tks

只要每个并发线程都有自己的会话,您就可以了。尝试使用一个共享会话会给您带来麻烦。

只要每个并发线程都有自己的会话,您就可以了。尝试使用一个共享会话会遇到麻烦。

OCI(oracle客户端接口)有一个参数OCI_THREADED,该参数具有连接被静音的效果,因此通过多个线程进行并发访问是安全的。这可能是您看到的文档所指的设置

cx_oracle
,本质上是一个Python->OCI桥,使用关键字参数“threaded”(如中所述)在其连接函数中提供对该设置的访问。文档声明默认情况下为假,因为它会导致“10-15%的性能损失”,尽管没有提供此信息的来源(性能统计数据应始终作为规则可疑地查看)

至于SQLAlchemy,随SQLAlchemy提供的
cx_oracle
方言默认情况下将此值设置为True,并在通过create_engine()设置引擎时将其设置为False,因此在该级别上没有问题

但除此之外,SQLAlchemy推荐的使用模式(即每个线程一个会话,将连接保持在本地池中,在该池中它们将根据需要由函数签出)在任何情况下都会阻止对连接的并发访问。因此,您可能可以关闭create_engine()上的“threaded”设置,并在遵循常规使用模式的情况下享受可能带来的切实性能提升。

OCI(oracle客户端接口)有一个参数OCI_threaded,该参数具有连接被静音的效果,因此通过多个线程进行并发访问是安全的。这可能是您看到的文档所指的设置

cx_oracle
,本质上是一个Python->OCI桥,使用关键字参数“threaded”(如中所述)在其连接函数中提供对该设置的访问。文档声明默认情况下为假,因为它会导致“10-15%的性能损失”,尽管没有提供此信息的来源(性能统计数据应始终作为规则可疑地查看)

至于SQLAlchemy,随SQLAlchemy提供的
cx_oracle
方言默认情况下将此值设置为True,并在通过create_engine()设置引擎时将其设置为False,因此在该级别上没有问题


但除此之外,SQLAlchemy推荐的使用模式(即每个线程一个会话,将连接保持在本地池中,在该池中它们将根据需要由函数签出)在任何情况下都会阻止对连接的并发访问。因此,如果遵循常规使用模式,您可能可以关闭create_engine()上的“threaded”(线程化)设置,并享受可能带来的切实性能提升。

tks,因为oracle官方文档说,您应该启用某种功能(尚不知道“某种功能”是什么…),以便oracle使用并行功能。。在sqlalchemy中我应该怎么做?tks,因为oracle的官方文件说应该启用某些东西(还不知道“某些东西”是什么…),以便oracle使用并行能力。。炼金术我该怎么做?