代码之家  ›  专栏  ›  技术社区  ›  Joe R.

select语句中列的顺序有什么不同吗?

  •  1
  • Joe R.  · 技术社区  · 14 年前

    这个问题的灵感来自于之前发布的一个问题,所以,“Where子句的顺序有什么不同吗?”。如果将where节中使用的列放在select语句的开头,它会提高select语句的性能吗?

    例子:

        SELECT customer.id, 
               transaction.id, 
               transaction.efective_date, 
               transaction.a,
               [...]
          FROM customer, transaction 
         WHERE customer.id = transaction.id;
    

    我知道,与使用select*相比,将列列表限制为select语句中所需的列可以提高性能,因为当前列表较小。

    1 回复  |  直到 14 年前
        1
  •  7
  •   Thomas    14 年前

    对于Oracle和Informix以及任何其他自尊心的DBMS,列的顺序不应影响性能。同样,查询引擎也应该找到处理WHERE子句的最佳顺序,这样顺序就不应该影响所有事物的相等性(即,查看可能强制执行顺序的过去构造)。