0

我在 sqlite3 中有一个巨大的数据库,表中有 4100 万行。但是,执行单个查询大约需要 14 秒。我需要显着提高访问时间!这是硬盘硬件限制还是处理器限制?如果是处理器限制,那么我想我可以使用 8 个处理器来并行化查询。但是,我从来没有找到一种方法来并行化 SQLite for python 中的查询。有没有办法做到这一点?我可以有一个编码示例吗?还是其他数据库程序的访问效率更高?如果是,那是哪些?

4

1 回答 1

1

首先,确保任何相关索引都到位以协助有效查询——这可能会或可能不会帮助......

除此之外,SQLite 是一个(奇怪的)精简的嵌入式 SQL DB 引擎——4100 万行可能正在推动它,具体取决于列的数量和大小等......

您可以使用您的数据库并将其导入PostgreSQLor MySQL,它们都是具有 Python 绑定和广泛功能集的开源 RDMS。他们将能够有效地处理大数据上的查询、索引、缓存、内存管理等。(或者至少,因为它们是为此目的而设计的,所以比没有的 SQLite 更有效......)

于 2012-07-19T08:50:38.083 回答