Порядок выполнения SQL-запросов
Мне любопытен порядок выполнения SQL-запросов. Я провел небольшое исследование по этому поводу. Я нашел это:
http://stackoverflow.com/questions/4596467/order-of-execution-of-the-query
В этой ссылке кто-то заявил следующее:
"SQL не имеет порядка выполнения. Это декларативный язык. Оптимизатор может свободно выбирать любой ордер, который он считает подходящим для получения наилучшего времени исполнения. Учитывая любой SQL-запрос, в принципе невозможно никому притвориться, что он знает порядок выполнения. Если добавить подробную информацию о задействованной схеме (точное определение таблиц и индексов) и расчетные мощности (размер данных и селективность ключей), то можно сделать предположение о вероятном порядке выполнения."
Неужели? Нет никакого порядка???
Но в следующей ссылке я получил логический порядок обработки.
http://blog.sqlauthority.com/2009/04/06/sql-server-logical-query-processing-phases-order-of-statement-execution/
1. FROM 2. ON 3. OUTER 4. WHERE 5. GROUP BY 6. CUBE or ROLLUP 7. HAVING 8. SELECT 9. DISTINCT 10. ORDER BY 11. TOP
Так что я немного запутался и теперь действительно очень любопытно узнать, есть ли на самом деле какой-то порядок или нет...!!!!
CHill60
Реальный смысл заключается в том, что RDMS определяет, как лучше всего выполнить один SQL-запрос ... это может зависеть от многих факторов, и ваша первая ссылка на самом деле объясняет, как просмотреть план выполнения (но имейте в виду, что это может отличаться изо дня в день, другие выполняемые запросы могут повлиять на него и т. д. Когда дело доходит до порядка sql-запросов (множественное число) , то поймите, что SQL Server не является асинхронным, поэтому первый запрос будет завершен, за ним последует следующий запрос и т. д. и т. д., Если вы запускаете более одного запроса в скрипте, процедуре и т. д.
ashok_n
Идеально и очень приятно
Member 13375650
нам нужна изоляция, чтобы 2 транзакции не могли влиять друг на друга ,но если предположить, что 2 транзакции, транзакция 1 обновляет строку, то транзакция 2 должна иметь эффект
так что просьба уточнить