我想根据id更新一组表行。 ID是连续的(例如12001 - 13000)
做得更快
WHERE id IN (12001, 12002, ...)
或
WHERE id >= 12001 AND id <= 13000
答案 0 :(得分:1)
我建议你使用
WHERE id >= 12001 AND id <= 13000
此where子句使用范围,您只需要确定起始范围到结束/最大范围。如果您使用其他选项IN Clause,则需要标识每个ID,然后将其放在IN子句
中答案 1 :(得分:0)
WHERE id >= 12001 AND id <= 13000
将是一个更好的解决方案 - 它清晰易检查。试图检查in语句是否包含每个元素都很难生成和检查。
答案 2 :(得分:0)
UPDATE Table_name SET Column_name = 500 WHERE Column_name = = 15 AND id IN(5,7,10,11,16,25);
答案 3 :(得分:0)
如果id
上存在哈希索引而不是b树索引,则IN
变体可能更快。否则,使用<= >=
或BETWEEN
可能会更快一些,并且在任何情况下都更具可读性。