Порядок в этом случае не гарантируется.
Вы будете стремиться к , чтобы получить те же результаты, но есть несколько вещей, которые могут изменить его.Я могу вспомнить четыре примера, но есть и другие:
- Если вы измените индексирование на таблице
- В Enterprise Edition, AdvancedСканирование может выполнить прокрутку по таблице или сканирование индекса уже выполняется для другого запроса, где внезапно «верхний» результат отличается.
- Если таблица достаточно велика для нескольких страниц и одного дняу вас в памяти уже есть страница, отличная от предыдущей.
- Если таблица хранится в порядке (A, B), но у вас есть индекс в (A, B DESC), вы можете получитьразные результаты в зависимости от того, загружена ли таблица или индекс в память.
Обратите внимание, что некоторые из них могут привести к внезапному изменению результатов, если из-за нехватки памяти Sql Server выгрузит соответствующую страницу.
Как более общий случай, не думайте только с точки зрения одного запроса к таблице, но также и множества разных запросов к одним и тем же неупорядоченным данным.Например, если вы присоединяетесь к этой таблице на основе критериев из другой таблицы, которая соответствует индексу, Sql Server может вернуть первый найденный результат, который совпадает, и для объединения может быть строка, отличная от строки запросапросто потому, что соединение хорошо совпадает с другим индексом.
Короче говоря, если это имеет значение, будьте более строгими с предложением ORDER BY.