|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
Друзья, прошу помочь! Всевышний свел меня с сервером Microsoft SQL Server 2008 R2 (SP3-GDR) (KB4057113) - 10.50.6560.0 (X64) и пока не знаю, что делать. Мне необходимо запросом получить срез последних значений по группе счетчиков. Я пытаюсь это сделать вот таким вот простым образом (запрос привожу в сокращенном виде): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Запрос работает неудовлетворительно долго. Ранее, я использовал в таких случаях рамочные функции. В этой версии, насколько я понял из документации, они не поддерживаются. Пытался изучать статьи. Мне показалось, что тут имеет смысл присвоить значение подзапроса "findTimeCut " в отдельную переменную. Но и это не получилось. Не понял, как в данной конструкции с WITH объявить ее и применить так, чтобы можно было использовать в последующем подзапросе. Прошу посоветовать мне, как можно оптимизировать это элементарный запрос в моих условиях применения 2008 и конструкции WITH. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 11:50 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
Begimot441 Ранее, я использовал в таких случаях рамочные функции. В этой версии, насколько я понял из документации, они не поддерживаются . это оконные что ли ? брэхня ! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 11:55 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
Begimot441 Прошу посоветовать мне, как можно оптимизировать это элементарный запрос в моих условиях применения 2008 и конструкции WITH. Печально я гляжу на это поколенье... Это сработает даже на MS SQL 2000. Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 12:02 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
court, Да, я имел в виду оконные функции. По ним я, как минимум, находил последние по дате значения без вложенного запроса. Под "брехня" Вы имеете в виду то, что в 2008 они поддерживаются? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 12:02 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
Православный запрос должон выглядеть так Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 12:04 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
aleks222 Begimot441 Прошу посоветовать мне, как можно оптимизировать это элементарный запрос в моих условиях применения 2008 и конструкции WITH. Печально я гляжу на это поколенье... Это сработает даже на MS SQL 2000. Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 12:20 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
Begimot441 Под "брехня" Вы имеете в виду то, что в 2008 они поддерживаются? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 12:21 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
court aleks222 пропущено... Печально я гляжу на это поколенье... Это сработает даже на MS SQL 2000. Код: sql 1. 2. 3. 4. 5. 6.
Убрать with может даже ясельник. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 12:27 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
aleks222, Огромное спасибо! Ранее я игнорировал эти виды запросов. Но помогите, мне, пож-та, до конца. Вы мне любезно подсказали, как оптимизировать поиск МАКСИМАЛЬНОГО для каждого idChan. Но мне-то надо СРЕЗ. Т.е. "групповой максимум", если можно так сказать. Я сейчас пытаюсь применить технику коррелированных запросов для этого, и у меня не выходит. Подтолкните меня, пож-та! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 13:49 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
Begimot441 Мне необходимо запросом получить срез последних значений по группе счетчиков. Я пытаюсь это сделать вот таким вот простым образом (запрос привожу в сокращенном виде): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 14:20 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
invm, Спасибо! Но, к сожалению, мой sqlDbx, при этом, выдает ошибку Неправильный синтаксис около конструкции ".".. Error 102. SQLSTATE 42000 Неправильный синтаксис около ключевого слова "order".. Error 156. SQLSTATE 42000 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 15:40 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
invm, Простите! Я тормоз! Все прекрасно! Благодарю за помощь и буду изучать Вашу конструкцию. Не знал такой! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 15:45 |
|
Оптимизация запроса. Прошу совет
|
|||
---|---|---|---|
#18+
Begimot441 aleks222, Огромное спасибо! Ранее я игнорировал эти виды запросов. Но помогите, мне, пож-та, до конца. Вы мне любезно подсказали, как оптимизировать поиск МАКСИМАЛЬНОГО для каждого idChan. Но мне-то надо СРЕЗ. Т.е. "групповой максимум", если можно так сказать. Я сейчас пытаюсь применить технику коррелированных запросов для этого, и у меня не выходит. Подтолкните меня, пож-та! Предлагаете угадать чего там у вас "группа"? Begimot441 Но мне-то надо СРЕЗ. Т.е. "групповой максимум", если можно так сказать. Вот на пальцах и розжувай, что там у тя в голове за "срез" и чаво такое ""групповой максимум", если можно так сказать". Телепузики в отпуску. По твоему примеру, ты получаешь самое раннее из всех последних значений для каждого idChan. Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 15:52 |
|
|
start [/forum/topic.php?fid=46&msg=40091849&tid=1684390]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
128ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 224ms |
0 / 0 |