| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Другие СУБД > Почему не используется индекс при джойне? |
| Автор: Barvetal 6.10.2006, 00:19 | ||||||
| Всем привет! А задача предельно простая: есть две таблицы. Нужно сделать джойн этих таблиц и вывести первые две результирующие записи. Размер этих таблиц - по 140000 записей в каждой. Запрос выполняется 15 секунд. Смотрю по плану - сервер ДБ2 при выполнения джойна не использует индексы (а использует MSJOIN вместо NLJOIN). Не могу понять, почему. Разьясните, пожалуйста, как я могу ускорить работу этого джойна? Версия базы - DB2 8.2 (фикспак тот, который месяц назад был последним, это вроде 13-й) Помогите пожалуйста! А теперь подробная информация. Запрос:
Рисунок плана выполнения запроса находится по ссылке: http://users.g.com.ua/~vitaly_b/sshots/JoinPlan.jpg или здесь: http://files.adamant.ua/9509 Скрипт создания таблицы Document
Скрипт создания таблицы NEWS:
Да, статистика вся построена и актуальна. Вот она: http://users.g.com.ua/~vitaly_b/sshots/statdoc.jpg и http://users.g.com.ua/~vitaly_b/sshots/statnews.jpg Почему DB2 не использует индекс при джойне? Всем заранее спасибо! |
| Автор: dvska 24.1.2007, 16:48 |
| Попробуй тут http://www.sql.ru/forum/actualtopics.aspx?bid=5 спросить |