gpt4 book ai didi

python - Sqlite3 比 grep 慢 6 倍

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:57 24 4
gpt4 key购买 nike

我有一个包含 1.88 亿行的表格和一个包含 1.88 亿行的文本文件,如下所示:

CREATE TABLE trigram (count integer, A text, B text, C text)
time echo 'select * from trigram where C="mailman";'|sqlite3 3g.db
18.419 seconds.
time grep 'mailman$' N-Grams/3g
3.137 seconds

或更复杂的查询,如

time grep 'the [^ ]* mailman$' N-Grams/3g 
2.879 seconds
time echo 'select * from trigram where A="the" and C="mailman";'|sqlite3 3g.db
15.839 seconds

有什么方法可以加快 sqlite3 的速度吗?

最佳答案

创建索引:

CREATE INDEX idx_trigram_col_c ON trigram(C);

然后重试。

您可以使用覆盖索引在第二个查询上获得更快的速度:

CREATE INDEX idx_trigram_col_c ON trigram(C, A);

CREATE INDEX idx_trigram_col_c ON trigram(A, C);

(如果列有不同的分布,则将具有更多值的列放在第一位)。

关于python - Sqlite3 比 grep 慢 6 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com