Имеет ли значение порядок столбцов в операторе SELECT? - PullRequest
1 голос
/ 17 июня 2010

Этот вопрос был навеян предыдущим вопросом, опубликованным на SO: «Отличает ли порядок предложения WHERE?». Повысит ли это производительность оператора SELECT, если столбцы, используемые в разделе WHERE, будут помещены в начале оператора SELECT?

пример:

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

Я знаю, что ограничение списка столбцов только необходимыми в операторе SELECT повышает производительность по сравнению с использованием SELECT *, поскольку текущий список меньше.

1 Ответ

7 голосов
/ 17 июня 2010

Для Oracle и Informix и любых других уважающих себя СУБД порядок столбцов не должен влиять на производительность.Аналогичным образом, это должно быть в том случае, если механизм запросов находит оптимальный порядок для обработки предложения Where, поэтому порядок не должен иметь значения при прочих равных условиях (т. Е. При просмотре прошлых конструкций, которые могут вызвать выполнение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...