powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Причина неверной физической сортировки Select into.
8 сообщений из 8, страница 1 из 1
Причина неверной физической сортировки Select into.
    #32040828
Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли использовать запрос типа 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
Причина неверной физической сортировки Select into.
    #32040830
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто Вам обещал физическую сортировку? Как сервер будет это у себя хранить - это его дело(если конечно нет кластерного индекса)
...
Рейтинг: 0 / 0
Причина неверной физической сортировки Select into.
    #32040834
Bor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bor
Гость
You must to builld a clustered index on the ID and OrderDate fields - so you'll get the physically sorted table.
...
Рейтинг: 0 / 0
Причина неверной физической сортировки Select into.
    #32040835
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Bor:
насколько я помню, я нигде не встречал обещаний того, что выборка будет произведена в порядке физического расположения данных...
Единственный 100% надежный способ - это применение Order By в итоговой выборке. А при выборке типа
Код: plaintext
Select Top ...
Order By, на мой взгляд, - это единственный способ обеспечить повторяемость результата...
...
Рейтинг: 0 / 0
Причина неверной физической сортировки Select into.
    #32040870
Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так всетаки как используя запрос типа Select... into.. GROUP BY.. ORDER BY.. получить физически отсортированную таблицу?
Как сразу же создать кластерный индекс ведь эта таблица создается в запросе.
...
Рейтинг: 0 / 0
Причина неверной физической сортировки Select into.
    #32040887
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Причина неверной физической сортировки Select into.
    #32041291
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The guy wants to store data physically sorted? Fine, use clustered index for the primary key then.
...
Рейтинг: 0 / 0
Причина неверной физической сортировки Select into.
    #32041294
Headache
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сервер хранит данные в хипе (если нет кластерного индекса) - то есть неупорядоченно.
кроме того, часть необходимых строчек могут оказаться в кэше и возьмутся оттуда.
поэтому в каком порядке строки возникнут в запросе - принуипиально непредсказуемо. Даже если это один и тот же запрос выполненный повторно по одному плану с небольшим интревалом.

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


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