更好地使用"小于等于"或" in"在SQL查询中

时间:2012-12-06 06:54:16

标签: mysql sql

如果我必须在表中更新超过10000行,并且该表包含超过700000条记录,并且我们必须以连续方式更新其主键的行。 最好获得最大主键,然后使用"小于等于"在SQL查询或我必须在查询中使用?

2 个答案:

答案 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