|
|
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
Табличка: (Размер 4Мб) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. План: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Дополнительно: - все регламентные операции (реиндекс, вакум, сбор статистики) актуальные. Вопросы: 1) Почему сек скан может так долго отрабатывать на вроде бы не большой табличке 2) Насколько адекватно значение Heap Fetches при индекс скане 3) В какую сторону можно посмотреть на тему оптимизации этого Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 08:20 |
|
||
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
laskin82, Этот же запрос (повторное выполнение) через некоторое время Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 08:25 |
|
||
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
laskin82, с какой стороны 1С вы его пинаете ? --- как сторонний франч/разраб ? -- или вы сотрудник 1С ? просто интересно, что вы хотите -- подцепить данные снаружи, или запинать "движок" 1С на приемлемый план (модифицируя запрос, составляемый движком). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 14:13 |
|
||
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
qwwq, сторонний франч/разраб Хочу/стараюсь понять почему работает именно так. С академической тз интересно, что можно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 14:22 |
|
||
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
laskin82, Вы привели результаты 2х разных запросов. Естественно что они по разному выполняются. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 14:27 |
|
||
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
laskin82, По оптимизации запроса видны несколько путей: 1)убрать LIMIT 100000 который работает как optimizator fence и не дает нормальный план строить 2)вместо INNER JOIN tt523 T5 использовать IN / EXISTS 3)вместо EXISTS в DELETE сделать IN соответствующий (и убрать странный FROM (SELECT 1 AS SDBL_DUMMY) SDBL_DUAL) -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 14:31 |
|
||
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
Maxim Boguklaskin82, По оптимизации запроса видны несколько путей: 1)убрать LIMIT 100000 который работает как optimizator fence и не дает нормальный план строить 2)вместо INNER JOIN tt523 T5 использовать IN / EXISTS 3)вместо EXISTS в DELETE сделать IN соответствующий (и убрать странный FROM (SELECT 1 AS SDBL_DUMMY) SDBL_DUAL) -- Maxim Boguk боюсь, из всего этого ТС-у доступно только убрать LIMIT. в самом 1C EXISTS отсутствует (по крайней в 1С диалекте 8--ки его не было) а dummy/dual наверняка привнесен в генерилку ораклоидами. И так там и заснул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 14:44 |
|
||
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
qwwq, К сожалению, изменить запрос мне не доступно, тк это уже "уровень платформы". Максим, Вы правильно заметили, запросы разные, но в одном случае: Seq Scan on _crgactp547 (cost=0.00..42985042.47 rows=18102 width=6) (actual time=96536.767..96596.056 rows=46 loops=1) а во втором Seq Scan on _crgactp547 (cost=0.00..14333050.01 rows=18102 width=6) (actual time=13496.104..13496.104 rows=0 loops=1) все же я до конца не могу понять почему такая разница на одной и той же таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 14:50 |
|
||
|
Подскажите, что не так с запросом. Какие есть варианты его ускорения.
|
|||
|---|---|---|---|
|
#18+
laskin82qwwq, К сожалению, изменить запрос мне не доступно, тк это уже "уровень платформы". Максим, Вы правильно заметили, запросы разные, но в одном случае: Seq Scan on _crgactp547 (cost=0.00..42985042.47 rows=18102 width=6) (actual time=96536.767..96596.056 rows=46 loops=1) а во втором Seq Scan on _crgactp547 (cost=0.00..14333050.01 rows=18102 width=6) (actual time=13496.104..13496.104 rows=0 loops=1) все же я до конца не могу понять почему такая разница на одной и той же таблице. потому что в первом случае там 46 строк а во втором 0 строк все же написано в том что вы привели. PS: и это все значит что analyze на таблицу 100 лет не делался так как база ожидает там 18.000 строк -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2015, 14:58 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=104&tid=1997732]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 373ms |

| 0 / 0 |
