sqlite3:memory:多个python脚本中的db和sqlite3性能

时间:2012-12-04 11:58:17

标签: python performance sqlite concurrency

我在使用apsw连接的多个python脚本中使用sqlite3:memory:db 问题是,运行多个程序:内存:db是否相互影响,还是sqlite3性能?

2 个答案:

答案 0 :(得分:1)

根据sqlite自己的文档(here),使用:memory:创建的每个数据库都与另一个数据库不同。因此,如果使用:memory:创建两个数据库,则它们彼此不同。

关于:memory:性能问题,您可以在此处找到好的信息:SQLite Performance Benchmark -- why is :memory: so slow...only 1.5X as fast as disk?

答案 1 :(得分:1)

当您同时运行多个程序时,性能始终会受到影响,因此肯定会对性能产生一些影响。幅度取决于你正在做什么。同时运行几个复杂的SQL查询可能会导致系统资源明显消耗,但是如果所有数据都足够少以至于它们都适合内存,那么它可能会处理您提供的任何查询。

:memory:的多个连接不共享内存,因此多个python和sqlite实例不会通过更改数据相互影响,如果这就是您要求的内容