【发布时间】:2014-01-19 02:12:23
【问题描述】:
我有一个表,其中有一个状态字段,它的值可以是 1、2、3、4、5。我需要从表中选择状态为 != 1 的所有行。我有以下 2 个选项:
请注意,该表在状态字段上有 INDEX。
SELECT ... FROM my_tbl WHERE status <> 1;
或
SELECT ... FROM my_tbl WHERE status IN(2,3,4,5);
以上哪个是更好的选择? (my_tbl 预计会变得非常大)。
【问题讨论】:
-
我想知道你是否设计了一个实验来回答这个棘手的谜题?
-
@Strawberry 我不明白这里有什么问题。我只想选择值为 2,3,4,5 的状态。
-
如果您在
status上没有索引,它们的性能将相同。 -
我已经用状态索引更新了查询。希望查询不再是一个谜。
标签: mysql performance query-optimization