Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вставка отсортированных данных в таблицу  [new]
Alex_Ru
Guest
Вставляем отсортированые данные в таблицу.
При выборке получается не отсортированные данные. Например
insert into T1 select * from T2 order by ...
теперь если выбрать
select * from T1
результат без сортировки.
1 окт 04, 16:00    [1002678]     Ответить | Цитировать Сообщить модератору
 Re: Вставка отсортированных данных в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104760
select * from T1
результат без сортировки.

А нигде и не сказано что такой запрос будет выдавать данные в том порядке, в которм они были занесены в таблицу. Это только вы так думаете
1 окт 04, 16:08    [1002695]     Ответить | Цитировать Сообщить модератору
 Re: Вставка отсортированных данных в таблицу  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
Если нужно держать данные в отсортированном виде, создайте кластерный индекс по сортировочному полю (полям)
1 окт 04, 16:33    [1002824]     Ответить | Цитировать Сообщить модератору
 Re: Вставка отсортированных данных в таблицу  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Богдан Гоцкий
Если нужно держать данные в отсортированном виде, создайте кластерный индекс по сортировочному полю (полям)


Даже при наличие кластерного индекса не гарантирован отсортированный результат без явного ORDER BY.
1 окт 04, 16:59    [1002957]     Ответить | Цитировать Сообщить модератору
 Re: Вставка отсортированных данных в таблицу  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
pkarklin

Даже при наличие кластерного индекса не гарантирован отсортированный результат без явного ORDER BY.

Интересно, до сих пор мне казалось, что если строки перестраиваются физически, то они всегда будут отсортированными... Можно примерчик (хотя бы теоретически когда это возможно) ?
1 окт 04, 17:10    [1003009]     Ответить | Цитировать Сообщить модератору
 Re: Вставка отсортированных данных в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104760
Можно примерчик (хотя бы теоретически когда это возможно) ?
Хранения информации в упорядоченном виде не означает выборку ее в том же порядке
первый пример. Представьте что часть данных находится в кэш(хвост таблицы). Часть на диске. Зачем же сначала забивать кеш началом таблицы чтобы потом еще раз читать с диска конец таблицы.

Второй пример. Допустим в кэше ничего нет. Один коннект начал читать таблицу и дочитал до середины. Появляется второй коннект и хочет прочитать теже данные. Для уменьшения операций ввода/вывода данные для второго коннекта начинают читаться с того же места до которого дошел первый коннект. А потом для второго коннекта дочитывается начало.
1 окт 04, 17:17    [1003043]     Ответить | Цитировать Сообщить модератору
 Re: Вставка отсортированных данных в таблицу  [new]
Богдан Гоцкий
Member

Откуда: Львов
Сообщений: 504
Спасибо, Glory, ты лучший :-)
1 окт 04, 17:24    [1003097]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить