速度选择SQlite Python非常不稳定

2024-03-29 01:34:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个相当大的SQLite数据库(300-400 MB)和一个Python3程序,它有两列,我称之为key和value。键列已编制索引,但不是唯一的。有时某个键没有或只有少量值,有时几百个。你知道吗

出于某种原因,以下是:

SELECT value FROM hashtable WHERE key = ?

速度很不稳定!我可以运行我的程序(SELECT语句被使用了几千次),并且平均每500个SELECT就有一个时间,突然之间-没有任何改变!-下一次运行时,它的平均速度将为300毫秒。该行为似乎是二进制的,或快,或慢,它不会在我的程序运行一次之内改变,而且经常当它变成慢模式时,我不得不删除索引并重新生成它,使它再次变快。你知道吗

有人知道这是什么原因吗?你知道吗

谢谢!你知道吗


Tags: keyfrom程序数据库sqlitevalue时间mb
1条回答
网友
1楼 · 发布于 2024-03-29 01:34:30

似乎您已经掌握了所需的所有信息:如果通过重建索引来恢复性能,那么性能差很可能是由于更新导致的索引碎片,尽管您没有提到您正在更新它。如果不对数据库内容进行更改,我想不出性能会随时间而变化的任何原因。你知道吗

相关问题 更多 >