这个问题的灵感来自之前发布在 SO 上的一个问题,“Does the order of the WHERE clause make a differnece?”。如果将 WHERE 部分中使用的列放在 SELECT 语句的开头,是否会提高 SELECT 语句的性能?
例子:
SELECT customer.id,
transaction.id,
transaction.efective_date,
transaction.a,
[...]
FROM customer, transaction
WHERE customer.id = transaction.id;
我确实知道,与使用 SELECT * 相比,将列列表限制为 SELECT 语句中仅需要的列可以提高性能,因为当前列表较小。
最佳答案
对于 Oracle 和 Informix 以及任何其他 self 尊重的 DBMS,列的顺序对性能应该没有影响。类似地,查询引擎应该找到处理 Where 子句的最佳顺序,因此顺序应该无关紧要(即,查看过去可能强制执行顺序的构造)。
关于sql - SELECT 语句中列的顺序是否有所不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3057690/