我是数据库新手,刚刚使用 . 编写了我的第一个代码sqlite3
。它完成了这项工作,但运行速度非常慢,我希望得到一些关于如何加快速度的建议。
现在我的代码看起来像这样:
For Line in File:
Line= Line.strip('\n').split('\n')
Location = int(Line[1])
MChr = Line[0]
cur = db.execute('''SELECT Start, End, Chr, Feature1, Feature2, Feature3, Feature4, FROM DataBase
WHERE Start <= ? AND End >= ? AND Chr == ?''', (Location, Location, MChr))
for (Start, Stop, Chr, Feature1, Feature2, Feature3, Feature4) in cur:
if Feature1 == "A string":
do something....
if Feature2 == "A string":
do something....
我的数据库有超过一百万个条目,这可能是我的程序运行缓慢的原因,但我想知道是否有一种方法可以使搜索更有效,从而避免每行都运行一百万。(也许首先拉出所有匹配的 Chrs?)