【发布时间】:2017-03-02 19:35:38
【问题描述】:
我有一个模型所有对象的查询集。遍历对象,我正在删除列中具有重复值的更新行。因此,无需再次访问数据库,我想从更大的查询集中删除更新的行。
最有效的方法是什么?
【问题讨论】:
-
最好让SQL过滤原始列表。它经过优化,可以比您更有效地执行 WHERE 子句。
-
是的,实际上我在 SQL 中尝试过类似的事情,但这需要太多时间和 cpu 使用率。我不擅长 SQl :(
-
时间太多?这会向我表明您的架构缺少索引。在 SQL 上运行 EXPLAIN PLAN 并查找表扫描。