如果我必须在表中更新超过10000行,并且该表包含超过700000条记录,并且我们必须以连续方式更新其主键的行。 最好获得最大主键,然后使用"小于等于"在SQL查询或我必须在查询中使用?
答案 0 :(得分:1)
最好使用between
假设您要更新其entity_id(PK)范围为10和10000的表的column1。
update table set column1=somevalue where id between 10 and 10000
使用in
子句需要从子查询中获取id,或者需要放入大括号
答案 1 :(得分:0)
因为它们是相同的,所以在速度或其他方面没有区别。更好地对你使用更自然。
您可以使用小于或等于
UPDATE table_name SET column_name=value WHERE row_id <= 10000
要注意的一件事是,如果你在DATETIME使用它,结束日期的匹配将是一天的开始:
&lt; = 6/12/2012不同于:&lt; = 6/12/2012 23:59:59(它将与&lt; = 6/12/2012 00:00匹配: 00.000 强>)