|
MS SQL: группировка отсортированной таблицы | ☑ | ||
---|---|---|---|---|
0
extrim-style
20.10.15
✎
10:54
|
Имеется отсортированная таблица. Делаю левое соединение к ней и группировку. Вопрос: нужно ли делать повторную сортировку или сохранится первоначальная?
|
|||
1
Мутабор
20.10.15
✎
10:55
|
Сортировку на выходе делают, в промежутке смысла нет...
|
|||
2
KuAl
20.10.15
✎
10:56
|
https://msdn.microsoft.com/ru-ru/library/ms189499(v=sql.120).aspx
Логический порядок обработки Select FROM ON JOIN where GROUP BY WITH CUBE или WITH ROLLUP HAVING SELECT DISTINCT ORDER BY TOP |
|||
3
extrim-style
20.10.15
✎
10:58
|
(2) И? Я в курсе. Если не было повторного ORDER BY какая будет сортировка в итоговой таблице?
|
|||
4
Мутабор
20.10.15
✎
11:00
|
(3) Запрос какой? К отсортированной таблице (вьюшке), тогда нет.
|
|||
5
Лефмихалыч
20.10.15
✎
11:01
|
(3) нет гарантии, что такая же, как была
|
|||
6
KuAl
20.10.15
✎
11:01
|
таблица будет неотсортирована (если общие варианты рассматривать)
|
|||
7
Мутабор
20.10.15
✎
11:02
|
+4 неотсортированная будет всмысле. А то по тексту непонятно звучит :)
|
|||
8
extrim-style
20.10.15
✎
11:03
|
(4)(5)(6) спс. А есть где об этом почитать?
|
|||
9
Мутабор
20.10.15
✎
11:05
|
(8) скуль сам все оптимизирует под себя для максимального ускорения и если нет указаний ты не поймешь что получишь в сортировке.
|
|||
10
Гёдза
20.10.15
✎
11:13
|
если делаешь группировку по сортированному полю, то сохранится
|
|||
11
Гёдза
20.10.15
✎
11:14
|
по хорошему нужно конечно указать сортировку еще раз. но к счастью сортировка уже сортированной будет очень быстра
|
|||
12
Маратыч
20.10.15
✎
11:15
|
(10) Разве? Вроде как при группировки скуль формирует временную таблицу, основываясь на индексах, ее агрегирует и выдает юзеру. А индекс какбе может сортировке вообще не соответствовать.
Хотя могу ошибаться, конечно, проще взять и проверить. |
|||
13
extrim-style
20.10.15
✎
11:15
|
(10) мнения разделились. Где истина?
|
|||
14
extrim-style
20.10.15
✎
11:17
|
+(13) сорри. Да, делаю группировку именно по отсортированному полю.
|
|||
15
Маратыч
20.10.15
✎
11:17
|
(14) А поле индексированное?
|
|||
16
extrim-style
20.10.15
✎
11:23
|
(14) ошибся. Вобщем я делаю сортировку по Поле1. Потом левое соединение, группировку по Поле2, выбирая Макс(Поле1).
(15) да |
|||
17
mistеr
20.10.15
✎
11:27
|
(10) Нет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |