Мне нужно получить имя файла с записями, отвечающими определенным критериям, но я понимаю, что при выполнении запроса запрос выполняется очень медленно. Я добавил индекс, но он все еще очень медленный, как можно улучшить производительность ??? Я использую DB2. Пожалуйста, помогите, спасибо.Улучшение производительности SQL-запроса (DB2)
Таблица (FILE) (объем данных - около 100000)
- file_id
- ИМЯ
- КАТЕГОРИЯ
ИНДЕКС (КАТЕГОРИЯ, file_id)
Таблица (ЗАПИСЬ) (Объем данных - около 500000 00)
- record_id
- ДАННЫЕ
- CREATE_DATE
- ТИП
- file_id
ИНДЕКС (CREATE_DATE, ТИП, file_id)
SELECT NAME
FROM FILE
WHERE CATEGORY = ? AND
FILE_ID IN (SELECT FILE_ID FROM RECORD WHERE CREATE_DATE = ? AND TYPE = ?)
IN медленнее, чем EXISTS, попробуйте использовать EXISTS –
Привет, я протестировал некоторые случаи, и я обнаружил, что производительность IN кажется лучше, чем EXISTS. Это только результаты, которые я нашел, когда проверяю план доступа к запросу. Во всяком случае, просто хочу поделиться своими выводами. – coldholic