| В современных базах данных используется технология query rewrite - на деле это означает что сам SQL не выполняется, на его основе формируется другой запрос, или серия запросов уже на внутреннем языке сервера(так называемая компиляция запроса), который и выполняется. Большинство запросов можно выполнить разными способами, сервер компилирует SQL в тот или иной код не однозначно, в отличие от обычных языков программирования, а в зависимости от наличия тех или иных индексов, собранной статистики эффективности тех или иных методов, размеров таблиц, индексов, степени их фрагментации и т.п. Поэтому даже один и тот же SQL может реально выполнятся по разному сейчас и через несколько дней... Для MS SQL Server приведенные конструкции практически равнозначны, план их выполнения будет практически идентичным... Не могу поручится за все сервера, но для оценки эффективности надо смотреть план выполнения запроса на сервере и сравнивать эффективность экспериментально |