关于WHERE子句的MySQL查询优化

时间:2017-10-29 19:00:39

标签: mysql database performance

在MySQL查询的b = map(a, i -> i + 1); 子句中安排数据的方式是否有任何性能优势? 例如,在此示例中,WHERE列已编入索引

categoryid

VS

SELECT something 
FROM table 
WHERE date 
BETWEEN "date1" 
AND "date2" 
AND categoryid = "2"

会有任何性能差异吗?谢谢

1 个答案:

答案 0 :(得分:0)

如果您关心性能,请考虑索引。对于此查询:

SELECT something 
FROM table 
WHERE categoryid = 2 AND
      date BETWEEN @date1 AND @date2  -- I'm assuming these are constants

您需要(categoryid, date)上的索引。如果你想要表现,那就是你应该做的。无论WHERE子句中的条件顺序如何,MySQL都将使用此索引。

对于没有索引的查询,它并没有什么不同。无论如何,评估顺序的任何差异都可能被运行查询的开销所淹没。

相关问题