SQL查询大量条目的性能?

时间:2014-02-16 00:46:58

标签: python sql flask

因此,我尝试使用下载链接提供一些文件并在页面上显示有关它们的信息。信息存储在sqlite数据库中,我正在使用Flask和SQLalchemy。我的文件模型如下所示:

class storedfile(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    path = db.Column(db.Text, unique = True)
    name = db.Column(db.Text) 
    age = db.Column(db.DateTime)
    download_count = db.Column(db.Integer)

    def __init__(self, path, name, age, download_count):
        self.path = path 
        self.name = name 
        self.age = age
        self.download_count = download_count



    def __repr__(self):
        return '<storedfile % r>' % self.name

加载页面时,我通过路径过滤检索有关文件的信息(每个路径都是唯一的,文件夹名称是随机生成的),如下所示:

fileinfo = storedfile.query.filter_by(path = os.path.join(new_folder_path, filename)).first()

路径未排序,如果索引中有大量路径,这会显着降低性能吗?是否有更好/更快的排序和查询方式?

1 个答案:

答案 0 :(得分:1)

不,使用完全字符串过滤不会成为问题。这就是数据库擅长的;为完全匹配建立有效的索引。

具有唯一性约束的列上的确切字符串匹配是数据库可以构建和维护的最简单的索引之一,您正在这样做。