Re[5]: Сортировка "не по порядку" SQL Server 2008
От: wildwind Россия  
Дата: 29.04.16 17:26
Оценка: +4
Здравствуйте, blonduser, Вы писали:

B>Основная таблица с миллионами записей и в ней кроме всего содержится тип записи.

B>Типов записей меньше сотни.
B>В зависимости от языка тип записи нужно отсортировать по алфавиту.

Реальная задача и постановка в исходном посте как небо и земля.
Re[2]: Сортировка "не по порядку" SQL Server 2008
От: MasterZiv СССР  
Дата: 05.05.16 12:37
Оценка: +1
Здравствуйте, Sinix, Вы писали:

B>>Есть какие нить варианты что бы ускорить это?

S>Завести новое поле, захардкодить в него "вес" строки (произвольное дробное число), сортировать по весу.
S>Индекс, если сортировка — узкое место.

Хочу только заметить, что индекс на ORDER BY использовать достаточно сложно, далеко не всегда получается.
Очень сильно зависит от запроса.
Сортировка "не по порядку" SQL Server 2008
От: blonduser  
Дата: 28.04.16 09:34
Оценка:
Всем доброго времени суток!

Есть целочисленное индексированное поле со значениями 1,2,3,4,5 и т.д.
Мне нужно отсортировать их в таком порядка 10,5,1,4,2 и т.д.
Я делаю это через CASE , но сортировка происходит медленнее, чем сортировка просто по полю.

Есть какие нить варианты что бы ускорить это?


Спасибо.
Re: Сортировка "не по порядку" SQL Server 2008
От: wildwind Россия  
Дата: 28.04.16 09:47
Оценка:
Здравствуйте, blonduser, Вы писали:

B>Мне нужно отсортировать их в таком порядка 10,5,1,4,2 и т.д.

А что в "и т.д."? Принцип остался непонятен.

B>Я делаю это через CASE , но сортировка происходит медленнее, чем сортировка просто по полю.

Насколько медленнее?

B>Есть какие нить варианты что бы ускорить это?

Есть. Например добавить еще одно поле, пронумеровать как нужно и сортировать по нему.
Re: Сортировка "не по порядку" SQL Server 2008
От: Sinix  
Дата: 28.04.16 09:48
Оценка:
Здравствуйте, blonduser, Вы писали:

B>Есть какие нить варианты что бы ускорить это?

Завести новое поле, захардкодить в него "вес" строки (произвольное дробное число), сортировать по весу.
Индекс, если сортировка — узкое место.
Re: Сортировка "не по порядку" SQL Server 2008
От: vmpire Россия  
Дата: 28.04.16 10:23
Оценка:
Здравствуйте, blonduser, Вы писали:

B>Мне нужно отсортировать их в таком порядка 10,5,1,4,2 и т.д.

B>Есть какие нить варианты что бы ускорить это?
Сделать постоянную или временную дополнительную таблицу для порядка сортировки с соответствием {значение, порядок сортировки}
Соединить с ней исходную таблицу и сортировать по порядку в дополнительной таблице.
На соединяемые поля в обеих таблицах сделать индексы (в дополнительной — кластерный или с добавленной второй колонкой)
Re[2]: Сортировка "не по порядку" SQL Server 2008
От: blonduser  
Дата: 28.04.16 10:51
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Здравствуйте, blonduser, Вы писали:


B>>Мне нужно отсортировать их в таком порядка 10,5,1,4,2 и т.д.

B>>Есть какие нить варианты что бы ускорить это?
V>Сделать постоянную или временную дополнительную таблицу для порядка сортировки с соответствием {значение, порядок сортировки}
V>Соединить с ней исходную таблицу и сортировать по порядку в дополнительной таблице.
V>На соединяемые поля в обеих таблицах сделать индексы (в дополнительной — кластерный или с добавленной второй колонкой)

Воспользуюсь вашим вариантом.
Re[2]: Сортировка "не по порядку" SQL Server 2008
От: Lexey Россия  
Дата: 29.04.16 07:52
Оценка:
Здравствуйте, vmpire, Вы писали:

B>>Мне нужно отсортировать их в таком порядка 10,5,1,4,2 и т.д.

B>>Есть какие нить варианты что бы ускорить это?
V>Сделать постоянную или временную дополнительную таблицу для порядка сортировки с соответствием {значение, порядок сортировки}

А что не индексированную вьюху?
"Будь достоин победы" (c) 8th Wizard's rule.
Re[3]: Сортировка "не по порядку" SQL Server 2008
От: seregaa Ниоткуда http://blogtani.ru
Дата: 29.04.16 14:01
Оценка:
Здравствуйте, Lexey, Вы писали:

L>А что не индексированную вьюху?


Имхо решение с вьюхой на самый крайний случай. Вдруг у него в таблице всего сотня-другая записей?
Мобильная версия сайта RSDN — http://rsdn.org/forum/rsdn/6938747
Автор: sergeya
Дата: 19.10.17
Re[4]: Сортировка "не по порядку" SQL Server 2008
От: blonduser  
Дата: 29.04.16 15:53
Оценка:
Здравствуйте, seregaa, Вы писали:

S>Здравствуйте, Lexey, Вы писали:


L>>А что не индексированную вьюху?


S>Имхо решение с вьюхой на самый крайний случай. Вдруг у него в таблице всего сотня-другая записей?


Спасибо и вьюху попробую, как только руки дойдут.
Основная таблица с миллионами записей и в ней кроме всего содержится тип записи.
Типов записей меньше сотни.
В зависимости от языка тип записи нужно отсортировать по алфавиту.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.