大量条目的SQL查询性能?

2024-04-25 11:58:22 发布

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

所以我试图提供一些文件,并显示在下载链接页面上关于他们的信息。信息存储在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()

路径没有排序,如果索引中有大量路径,这会显著降低性能吗?有没有更好/更快的方法来排序和查询它们?你知道吗


Tags: 文件pathnameself路径信息truedb
1条回答
网友
1楼 · 发布于 2024-04-25 11:58:22

不,按精确字符串过滤不会是问题。这正是数据库擅长的;为精确匹配构建高效的索引。你知道吗

对具有唯一性约束的列进行精确的字符串匹配是数据库可以构建和维护的最简单的索引之一,您做得对。你知道吗

相关问题 更多 >