Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поменять план запроса
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть такой запрос Код: plsql 1. 2. 3. План такой Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Main_tab примерно 4млн записей (это признаки) blockrest примерно 2тысячи (это остатки) blockrest я специально добавил, для ускорения выборки данных. Так вот если убрать все условия WHERE, то запрос с inner join выполняется мгновенно. С условиями сначала начинает выполнять WHERE и только потом join. И весь смысл таблицы с остатками теряется. Думал оберну select c join и в нем уже выберу по условиям Код: plsql 1. 2. 3. План не изменился совершенно Как заставить postgres сначала выполнить inner join. Index scan по main_tab все равно работает медленнее, чем seq scan по выборке inner join. Я конечно понимаю что планировщик - вещь в себе и ему лучше знать как выполнить запрос. Но все таки... Как заставить сначала сделать объединение, а потом отбор? --- PostgreSQL 8.2.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 10:11 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=37931270&tid=1583483]: |
0ms |
get settings: |
12ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
88ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 256ms |
| total: | 451ms |

| 0 / 0 |
