我在一个表中有4100万行的sqlite3中有一个庞大的数据库。但是,执行单个查询大约需要14秒。我需要大大改善访问时间!这是硬盘硬件限制还是处理器限制?如果它是处理器限制,那么我认为我可以使用我必须的8个处理器来并行查询。但是我从未找到过在SQLite中为python并行查询的方法。有没有办法做到这一点?我可以有编码示例吗?或者其他数据库程序访问更有效?如果是,那么哪些?
答案 0 :(得分:1)
首先,确保所有相关索引都已到位,以协助有效查询 - 这可能有助于也可能没有帮助......
除此之外,SQLite应该是一个(奇怪的) lite 嵌入式SQL数据库引擎 - 根据列的数量和大小等,可能有4100万行推送它......
您可以将数据库导入PostgreSQL
或MySQL
,它们都是带有Python绑定和广泛功能集的开源RDMS。他们将能够有效地处理有关大数据的查询,索引,缓存,内存管理等。 (或者至少,因为它们是为此目的而设计的,比SQLite更有效,而不是......)