Доброе время суток.
Вот мои запросы:
Хотел бы использовать в программе запрос №2, но вопрос в том, как его оптимизировать.
Подозреваю, что mysql для каждой строчки history_text выполняет вложенный запрос. Есть ли способы заставить его исполнить вложенный запрос 1 раз, и использовать результаты в переборе?
Вот мои запросы:
- "SELECT i.itemid FROM items i WHERE i.key_ = 'backup.ntbackup.data'" - возвращает 6 значений : 58039, 58040, 58041, 58042, 58043, 58044
- "SELECT * FROM history_text ht WHERE ht.itemid IN ( SELECT i.itemid FROM items i WHERE i.key_ = 'backup.ntbackup.data' ) - надолго задумывается
- Но "SELECT * FROM history_text ht WHERE ht.itemid IN ( 58039, 58040, 58041, 58042, 58043, 58044 )" - отрабатывает мгновенно
Хотел бы использовать в программе запрос №2, но вопрос в том, как его оптимизировать.
Подозреваю, что mysql для каждой строчки history_text выполняет вложенный запрос. Есть ли способы заставить его исполнить вложенный запрос 1 раз, и использовать результаты в переборе?

Comment