Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть такой запрос: Код: sql 1. 2. 3. 4. 5. 6. Вот примерный результат выполнения: id oid start stop sms15 sms30 sms60E822C3A7-89A2-4A16-B918-E7A31DAD44BB 93E8FECB-8782-4357-B0FC-75C147594F50 2019-09-01 15:53:56.000 2019-09-01 16:21:10.000 NULL NULL NULL6A3917C6-4C9E-4759-B147-02DB544E7FE5 E0472205-8C90-4C66-A5EF-F36BE9399875 2019-07-04 15:00:31.000 NULL 1 1 1F99E87F1-C206-4428-BA0C-203BE44A171C 5B22FE0E-36A5-42AE-A280-93E6D47B4044 2019-07-08 10:32:51.000 NULL 1 1 15997C60C-3524-46DF-BB7D-2CE7725B7DCB 0ADA876A-4C54-4EFB-8D72-62CE5CEE1A3E 2019-09-01 09:00:51.000 2019-09-01 09:06:43.000 NULL NULL NULL Суть вопроса. Чтобы получить последнюю дату столбца start пишется два одинаковых запроса LEFT JOIN . Далее сравнивается большее значение даты DO.start < DDO.start . Вопрос, можно ли как то упростить запрос. Чтобы он выполнялся быстрее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:01 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Hopfen_Artur, [R] = ROW_NUMBER(PARTITION BY DO.id ORDER BY DO.stop DESC) + WHERE R = 1 или TOP 1 WITH TIES ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:17 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
TaPaKHopfen_Artur, [R] = ROW_NUMBER(PARTITION BY DO.id ORDER BY DO.stop DESC) + WHERE R = 1 или TOP 1 WITH TIES оконные функции https://docs.microsoft.com/ru-RU/sql/t-sql/queries/select-over-clause-transact-sql?view=aps-pdw-2016 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:31 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
FochaTaPaKHopfen_Artur, [R] = ROW_NUMBER(PARTITION BY DO.id ORDER BY DO.stop DESC) + WHERE R = 1 или TOP 1 WITH TIES оконные функции https://docs.microsoft.com/ru-RU/sql/t-sql/queries/select-over-clause-transact-sql?view=aps-pdw-2016 ухты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:33 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
TaPaKFochaпропущено... оконные функции https://docs.microsoft.com/ru-RU/sql/t-sql/queries/select-over-clause-transact-sql?view=aps-pdw-2016 ухты ну вдруг он не поймет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:34 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Вот так написал, пока не работает, пишет недопустимое имя столбца, разбираюсь Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:35 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Hopfen_ArturВот так написал, пока не работает, пишет недопустимое имя столбца, разбираюсь Код: sql 1. 2. 3. 4. обурнуть в WITH x as (SELECT ...) SELECT .. FROM x WHERE R = 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:37 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
TaPaKHopfen_ArturВот так написал, пока не работает, пишет недопустимое имя столбца, разбираюсь Код: sql 1. 2. 3. 4. обурнуть в WITH x as (SELECT ...) SELECT .. FROM x WHERE R = 1 а тогда зачем left join если потом мы убираем где нет даты? Может Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:50 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
TaPaK, очень быстро получилось, спасибо Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 09:59 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Было (затронуто строк: 4) Время работы SQL Server: Время ЦП = 47 мс, затраченное время = 40 мс. Стало (затронуто строк: 4) Время работы SQL Server: Время ЦП = 0 мс, затраченное время = 4 мс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 10:01 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Hopfen_ArturБыло (затронуто строк: 4) Время работы SQL Server: Время ЦП = 47 мс, затраченное время = 40 мс. Стало (затронуто строк: 4) Время работы SQL Server: Время ЦП = 0 мс, затраченное время = 4 мс. это вообще-то подозрительно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 11:20 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Ролг Хупин, полный запрос выглядит так, оптимизирую сижу вот: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. пока полное время такое: (затронуто строк: 3) Время работы SQL Server: Время ЦП = 1606 мс, затраченное время = 1155 мс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 11:24 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Hopfen_Artur, Это же сплошной table scan.... Тут даже нечего оптимизировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 14:27 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
MasterZivHopfen_Artur, Это же сплошной table scan.... Тут даже нечего оптимизировать авторитетненько, ещё тезисы будут? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2019, 14:31 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Получилось уменьшить, поэксперементировал с порядком JION (затронуто строк: 4) Время работы SQL Server: Время ЦП = 730 мс, затраченное время = 206 мс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2019, 08:43 |
|
||
|
Можно ли как то оптимизировать запрос?
|
|||
|---|---|---|---|
|
#18+
Hopfen_ArturПолучилось уменьшить, поэксперементировал с порядком JION (затронуто строк: 4) Время работы SQL Server: Время ЦП = 730 мс, затраченное время = 206 мс. Икспериментатор, видно по нему. У тя, страдалец, под группировкой, как минимум, две лишние таблицы торчат. А группировка, страдалец, это тяжело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2019, 08:57 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39856507&tid=1687325]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 327ms |

| 0 / 0 |
