为什么 SQLite 3 在 Python 中一个一个地执行 select 查询?

问题描述 投票:0回答:1

我有一个连接到 SQLite 数据库的 Python 应用程序。当我点击请求时,它需要大约 450 毫秒来获取 4500 行数据,这是一件很棒的事情。

但是当我有 2 个相同逻辑的 Python 应用程序(运行在不同的端口)指向同一个 SQLite 数据库并且当我同时点击两个 Python 应用程序的请求时,它需要大约 900 毫秒来获取响应。从这里我得出一个结论,选择查询不是并行执行的,而是一个一个执行的。

注意:我不需要写操作。我只需要执行选择查询。

单个请求耗时 450 毫秒。但是当 2 个连接尝试读取数据库时,它会花费两倍的时间。

python sqlite
1个回答
0
投票

SQLite 主要用于单用户应用程序,因此并没有像您尝试的那样真正针对并行查询执行进行优化。 您可以切换到具有内置并发访问权限的数据库引擎,如 MYSQL、PostgresSQL 等,以实现您需要的功能并减少获取查询结果的延迟,或者使用 SQLAlchemy 来管理池连接的打开和关闭。

© www.soinside.com 2019 - 2024. All rights reserved.