|
|
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
Добрый день. Уже голову сломал, пытаясь сделать запрос быстрее: Запрос: Код: sql 1. 2. 3. 4. В таблице object 300000 записей Потеря времени происходит в месте where now()<o.date_del Если убрать, сравнение now()<o.date_del то запрос летает Пробовал сделать индекс по полю date_del, ничего не изменилось. Как его можно оптимизировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 01:10:04 |
|
||
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
попробуйте создать составной индекс на (id_rubrika, date_del) - именно в таком порядке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 05:06:42 |
|
||
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
tanglirпопробуйте создать составной индекс на (id_rubrika, date_del) - именно в таком порядке К сожалению быстрее не стало, план запроса прикладываю, что еще можно придумать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 14:48:50 |
|
||
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
sanich, пробовали переместить подзапрос из блока select в блок from? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 15:21:46 |
|
||
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
Прикладываю структуру таблицы object: Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 15:44:08 |
|
||
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
JeStonesanich, пробовали переместить подзапрос из блока select в блок from? Не пойму как... Можете набросать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 15:44:59 |
|
||
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
sanich, Примерно как-то так, нет исходных данных проверить корректность Код: sql 1. 2. 3. 4. 5. 6. 7. Ну и индексы расставить в соответствии с планом. Индексы по id_categ и id_rubrika у вас уже должны быть. Попробуйте добавить индекс на date_del. Ну и плана выполнения вашего первоначального запроса явно не хватает для информативности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 16:06:33 |
|
||
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
JeStone, ой вру, план есть. Не узнал его в гриме (в табличке) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 16:07:47 |
|
||
|
Оптимизация запроса с count(*)
|
|||
|---|---|---|---|
|
#18+
JeStonesanich, Примерно как-то так, нет исходных данных проверить корректность Код: sql 1. 2. 3. 4. 5. 6. 7. Ну и индексы расставить в соответствии с планом. Индексы по id_categ и id_rubrika у вас уже должны быть. Попробуйте добавить индекс на date_del. Ну и плана выполнения вашего первоначального запроса явно не хватает для информативности. Ваш запрос оказался просто гениальным, спасибо огромное, как можно с вами связаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2014, 20:34:28 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38834614&tid=1833795]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 349ms |

| 0 / 0 |
