Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
Почему запрос выполняется так долго? Если из запроса убрать хотя бы одно ограничение, то время выполнения запроса будет менее секунды. Как с этим бороться? MS SQL 2016 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 06:49 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
ExB, Прикольно 4 ляма процентов :) Обновите статистику, посмотрите на план, вас не смущает что у вас к примеру в первом Nested Loop слева ожидаемое кол-во строк 797, фактическое 35 лямов. Или у вас parametr sniffing. Когда вы убераете одно из условий из where в принципе вполне логично, что у вас выполняется быстрее. В select вы выбираете только данные из t0, стлбцы остальных таблиц используются только в join и where, вполне вероятно что убрав к примеру t1].[Quantity] > @p4, SQL способен использовать индекс котрый наверника есть на [t1].[FkProduct], также вполне вероятно что убрав какое-либо условие, т.е. у вас таблица используется только в Join, SQL может применить Simplification при оптимизации, т.е. если у вас есть две таблица и есть FK, SQL и так знает что для каждой строки в таблицы "приемнике" есть строка в таблице "родителе" и просто не будет ее даже читать когда вы делаете inner join по этим столбцам. Но это отступление, у вас основное конечно факт и ожидание разнятся просто колоссально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 08:05 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
aleksrov, вот эти 4 ляма процентов меня очень смущают. Статистика обновляется каждую ночь при создании бэкапа. Ручное обновление статистики не дает результата. Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 09:11 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
ExB, Тогда выложите сюда этот план. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 09:13 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
ExB, А если условия засунуть в JOIN ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 10:29 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
vboretsExB, А если условия засунуть в JOIN ? это всё менят OPTION(RECOMPILE) или план не картинкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 10:39 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
ExBaleksrov, вот эти 4 ляма процентов меня очень смущают. Статистика обновляется каждую ночь при создании бэкапа. Ручное обновление статистики не дает результата. Код: sql 1. 2. 3. 4. а если обновить полностью with fullscan ? Очень уже похоже на криву статистику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 11:35 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
WarAnt, Не, скорее всего sniffing. Разница между 800 и 35 лямов уж совсем большая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2018, 11:45 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
ExB, Для начала попробуйте заменить все переменные на константы и посмотрите на ожидаемое vs реальное количество строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 00:28 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
А план такой: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 03:34 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
При замене переменных @p3 или @p1 на константы запрос выполняется мгновенно. При замене остальных переменных на константы изменений не замечено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 03:40 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
Вот такая статистика запросов если @p1 заменить на константу: (извиняюсь за широкоформатные изображения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 03:52 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
TaPaKvboretsExB, А если условия засунуть в JOIN ? это всё менят OPTION(RECOMPILE) или план не картинкой OPTION(RECOMPILE) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 08:42 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
Всегда было интересно - что имеется в виду под "фактическим"? На выборы пришло 110% населения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 13:15 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
ExB, Перепишите соединения на вложенные и добавьте условия в соединение. Исчезнут nested loops и все будет работать мгновенно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 19:58 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
nvvExB, Перепишите соединения на вложенные и добавьте условия в соединение. Исчезнут nested loops и все будет работать мгновенно. очень врядли. Такие простые условия соединения оптимизатор сам переставит как сочтет нужным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 23:00 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
А если так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 23:52 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
nvvExB, Перепишите соединения на вложенные и добавьте условия в соединение. Исчезнут nested loops и все будет работать мгновенно. впечатляет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2018, 10:54 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
OPTION(RECOMPILE) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 10:40 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
nvvExB, Перепишите соединения на вложенные и добавьте условия в соединение. Исчезнут nested loops и все будет работать мгновенно. nvv, это предлагается сделать так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Если да, то не помогло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2018, 10:43 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
ExBnvvExB, Перепишите соединения на вложенные и добавьте условия в соединение. Исчезнут nested loops и все будет работать мгновенно. Если да, то не помогло Какой смысл что-то переписывать если оптимизатор тупо не видит значений параметров? Правильный ответ уже сказали выше - OPTION(RECOMPILE) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 00:08 |
|
||
|
Долгое выполнение SQL запроса, количество обработанных записей превышает фактическое
|
|||
|---|---|---|---|
|
#18+
Решение OPTION(RECOMPILE) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2018, 10:57 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39621805&tid=1690029]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 383ms |

| 0 / 0 |
