|
|
|
JOIN с большой таблицей
|
|||
|---|---|---|---|
|
#18+
В общем есть большая таблица (40 млн записей). Код: 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. Это что то вроде справочника и SELECT по данной таблице выполняется либо по первичному ключу (id), либо по паре значений уникального индекса (manid, partno). Так вот если просто делать SELECT, типа Код: plsql 1. То все хорошо и быстро (примерно 11ms). Но если использовать таблицу в JOIN, то время выполнения - адский ад. Например запрос Код: plsql 1. 2. 3. 4. 5. Возвращает 1 строку за 5962 ms!!! У меня есть стойкое ощущение, что это ненормально. Но что с этим делать - неясно. VACUUM и REINDEX делал. Больше в таблице исправлять нечего. Backup -> Restore тоже делал - не помогло. План и анализ выдали вот это: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Как видно из лога почти все время заняла именно операция JOIN. В общем не знаю, что с этим делать и прошу помощи! )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2015, 19:03 |
|
||
|
|

start [/forum/search_topic.php?author=marik768&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
19ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
2ms |
| others: | 430ms |
| total: | 531ms |

| 0 / 0 |
