假设我有一个装满Tag
对象的数据库。每个Tag
都有一个id
和一个name
。在创建数据库的一开始,我允许使用区分大小写的Tags
,但是,后来我意识到我不需要/不需要这个功能,所以我开始在存储Tag
之前强制每个name
小写。在
现在我有了所有这些不同的names
的残片,它们现在将被存储在同一个Tag
下,但以前没有
Trendy, trendy
NotHalfBad, Nothalfbad, nothalfbad
SQL, sql, Sql
我正在使用Python和SQLAlchemy。我创建了一个函数来清理这个混乱,它看起来像这样:
^{pr2}$这是非常低效的。有更好的方法吗?在
如果是一次性使用的工具,你真的要关心效率吗?让它运行一分钟(或几分钟),而不是花更多的时间来优化它。在
也就是说,查询比Python循环更昂贵,因此首先将所有标记加载到一个列表中,然后在该列表上循环两次,应该可以加快速度:
另外,删除循环中的
commit
调用。这不仅代价高昂,而且如果其他进程更改了数据库,则循环的标记列表可能会不同步。在当然,让事情变得更有效率的一个恰当的方法是先进行分析,然后集中精力解决具体问题。如果你对表现很认真的话就应该这么做。在
相关问题 更多 >
编程相关推荐