Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Причина неверной физической сортировки Select into. / 8 сообщений из 8, страница 1 из 1
05.08.2002, 10:09:43
    #32040828
Борис
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Причина неверной физической сортировки Select into.
Можно ли использовать запрос типа Select... into.. GROUP BY.. ORDER BY.. для получения физически отсортированной таблицы? (Она нужна для использования далее в ACCESS в запросе типа Select... First ...)
Проблема: Почему при первом, а иногда при повторном выполнении этого же запроса порядок физической сортировки нарушается.
Я заметил, что после видоизменения сортируемого поля например на Left(...) порядок снова восстановлен, но следующий запуск опять его нарушает. Впечатление что SQLServer не выполняет запрос, а использует предыдущий план и при этом неверно. В чем причина?Что не так?
Привожу упрощенный пример

drop table t2
SELECT ID, max(OrderDate) as OrderDate
INTO t2
FROM t1
GROUP BY ID, OrderDate
ORDER BY ID, OrderDate

где ID - varchar, OrderDate - datetime

Почему нет надежной физической сортировки ?, может из-за varchar
...
Рейтинг: 0 / 0
05.08.2002, 10:24:55
    #32040830
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Причина неверной физической сортировки Select into.
А кто Вам обещал физическую сортировку? Как сервер будет это у себя хранить - это его дело(если конечно нет кластерного индекса)
...
Рейтинг: 0 / 0
05.08.2002, 10:35:38
    #32040834
Bor
Bor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Причина неверной физической сортировки Select into.
You must to builld a clustered index on the ID and OrderDate fields - so you'll get the physically sorted table.
...
Рейтинг: 0 / 0
05.08.2002, 10:40:27
    #32040835
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Причина неверной физической сортировки Select into.
2Bor:
насколько я помню, я нигде не встречал обещаний того, что выборка будет произведена в порядке физического расположения данных...
Единственный 100% надежный способ - это применение Order By в итоговой выборке. А при выборке типа
Код: plaintext
Select Top ...
Order By, на мой взгляд, - это единственный способ обеспечить повторяемость результата...
...
Рейтинг: 0 / 0
05.08.2002, 12:45:26
    #32040870
Борис
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Причина неверной физической сортировки Select into.
Так всетаки как используя запрос типа Select... into.. GROUP BY.. ORDER BY.. получить физически отсортированную таблицу?
Как сразу же создать кластерный индекс ведь эта таблица создается в запросе.
...
Рейтинг: 0 / 0
05.08.2002, 13:16:37
    #32040887
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Причина неверной физической сортировки Select into.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
drop table t2 
SELECT ss.ID, ss.OrderDate 
INTO t2 
FROM (SELECT ID, max(OrderDate) as OrderDate 
          FROM t1 
          GROUP BY t1.ID, t1.OrderDate 
         ) ss
ORDER BY ss.ID, ss.OrderDate 
...
Рейтинг: 0 / 0
06.08.2002, 16:46:19
    #32041291
Gobzo Kobler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Причина неверной физической сортировки Select into.
The guy wants to store data physically sorted? Fine, use clustered index for the primary key then.
...
Рейтинг: 0 / 0
06.08.2002, 17:12:04
    #32041294
Headache
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Причина неверной физической сортировки Select into.
Сервер хранит данные в хипе (если нет кластерного индекса) - то есть неупорядоченно.
кроме того, часть необходимых строчек могут оказаться в кэше и возьмутся оттуда.
поэтому в каком порядке строки возникнут в запросе - принуипиально непредсказуемо. Даже если это один и тот же запрос выполненный повторно по одному плану с небольшим интревалом.

А все Order BY сервак осуществляет таща данные в темпдб и там их уже сортирует во временных таблицах.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Причина неверной физической сортировки Select into. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]