powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
8 сообщений из 8, страница 1 из 1
SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
    #32016801
Serega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Возникла проблемa:
Select * (8 полей) into aaa From bbb Order By 1, 2, 3, 4, 5, 6, 7, 8
(~ 10000 записей)

Сортировка не выполняется. (или выполняется не всегда).
В чем кроется проблема?

Буду рад любым соображениям.
...
Рейтинг: 0 / 0
SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
    #32016827
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как вы определяете, что сортировка не выполняется ?
...
Рейтинг: 0 / 0
SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
    #32016829
Serega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал select из полученной таблицы, естественно и результат налицо
...
Рейтинг: 0 / 0
SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
    #32016831
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Порядок сортировки записей в результате выполнения запроса без Order By может быть произвольным. А в чем собственно задача? Если в ускорении сортировки, то можно просто построить индекс по нужным полям или до вставки данных создать в таблице bbb дополнительное поле со своиством Primary Key Identity и производить выборку с сортировкой по этому полю.
...
Рейтинг: 0 / 0
SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
    #32016861
Serega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем так и поступили.
Создали таблицу, а потом Insert Into .... Select From Order By
И заработало.

Вопрос был: Почему нельзя сразу?
...
Рейтинг: 0 / 0
SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
    #32016872
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вопрос был: Почему нельзя сразу?
Потому что нельзя. На MS SQL Server физический порядок записей определяется кластерным индексом (если таковой имеется). Либо не определяется ничем. Если хотите, чтобы порядок записей определялся последовательностью их сохранения в таблице по времени, то заведите вспомогательное поле в этой таблице (типа datetime), задайте для него значение по умолчанию Getdate() и создайте по этому полю кластерный индекс. Либо простой индекс, но при выборке указывайте явно ...order by [InsertionTime]
...
Рейтинг: 0 / 0
SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
    #32016873
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополнение. Можно вместо поля datetime завести поле int с identity. Результат будет аналогичным.
...
Рейтинг: 0 / 0
SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
    #32016911
Фотография Александр Степанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Garya:
По последним двум репликам. Результат не будет один и тот же. Поле int identity будет уникальным для каждой строки, в то время как поле datetime со значением по умолчанию GetDate() будет уникальным только для отдельных insert. То есть если мы вставляем в таблицу 10000 полей одним insert и 100 полей другим, то в таблице будет всего два уникальных значения поля datetime. То же самое произойдет и в том случае, если мы будем инсертить это поле, явным образом указывая GetDate() для вставки. В этом случае ЛЮБАЯ недетерминированная функция будет вычислена один раз для всех вставляемых строк. Так что, если, например, захочется вставить 10000 строк со случайным значением одного из полей, то прийдется либо делать 10000 инсертов по одной строке
, либо курсором после вставки апдейтить эти строки.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL7Sp3 Select * Into From Order By (почему может не срабатывать сортировка)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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