因此,我尝试使用下载链接提供一些文件并在页面上显示有关它们的信息。信息存储在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()
路径未排序,如果索引中有大量路径,这会显着降低性能吗?是否有更好/更快的排序和查询方式?
答案 0 :(得分:1)
不,使用完全字符串过滤不会成为问题。这就是数据库擅长的;为完全匹配建立有效的索引。
具有唯一性约束的列上的确切字符串匹配是数据库可以构建和维护的最简单的索引之一,您正在这样做。