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

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

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

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

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


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