2012-03-06 3 views
6

Будет ли мой запрос select * возвращать строки из моей таблицы базы данных в том же порядке?Всегда ли запрос SELECT возвращает строки в том же порядке? Таблица с кластеризованным индексом

Моя таблица имеет «кластеризованный индекс» на одном столбце. Изменит ли это ответ?

+3

Это вопрос домашней работы? Это, безусловно, сформулировано как одно. –

+0

ха-ха. надеюсь, вы все исправите. –

ответ

16

Порядок возвращаемых строк будет не всегда будет таким же, если вы явно не укажете это с помощью пункта ORDER BY. Итак, нет.

И нет; просто потому, что ваши 1000 запросов вернули тот же порядок, что и no гарантируют, что 1001-й запрос будет в том же порядке.

+0

Возможно, добавьте некоторый акцент на слова ** не ** и ** нет **, так как я неправильно прочитал ваш ответ в первый раз. –

+0

Хорошая точка. Закрепление. – bos

+2

Просто добавьте к картинке: Clustered Index определяет, как данные хранятся на диске, поэтому они будут отсортированы на диске. ОДНАКО, есть экстремальные случаи, когда такие вещи, как распараллеливание, могут отбрасывать сортировку при выборе. –

Смежные вопросы