|
|
|
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/topic.php?fid=53&msg=39048485&tid=1997782]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 322ms |

| 0 / 0 |
