【发布时间】:2013-02-13 23:54:09
【问题描述】:
任何机构都可以建议哪个执行速度更快(考虑处理超过 200 万行的大数据)
UPDATE first_table ft, second_table st SET ft.Dataset=3
WHERE st.Dataset =0
AND (ft.Dataset =1 || ft.Dataset=2)
AND (ft.ID IS NULL )
AND st.First_Name = ft.First_Name
AND st.Last_Name = ft.Last_Name
AND st.Zip = ft.Zip
或
将以下内容放入两个不同的更新查询中
(ft.Dataset =1 || ft.Dataset=2)
【问题讨论】:
-
实际上这将更多地取决于您的引擎、索引、表结构、数据类型等...
-
是的,我设置了索引,表在innodb中
-
innodb 应该运行得慢一点,因为它必须更新索引,如果你将查询分开 2 我看不出它会如何进行更快的查询,除了你正在更新 2MM 的行
-
超过 200 万行,您将加入两个表中的名字、姓氏和 zip - 很好!!
标签: mysql optimization query-optimization