在MySQL查询的b = map(a, i -> i + 1);
子句中安排数据的方式是否有任何性能优势?
例如,在此示例中,WHERE
列已编入索引
categoryid
VS
SELECT something
FROM table
WHERE date
BETWEEN "date1"
AND "date2"
AND categoryid = "2"
会有任何性能差异吗?谢谢
答案 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都将使用此索引。
对于没有索引的查询,它并没有什么不同。无论如何,评估顺序的任何差异都可能被运行查询的开销所淹没。