У меня есть оператор SQL, который занимает очень много времени для выполнения, и мне действительно нужно было его как-то улучшить.Индекс базы данных, когда оператор SQL включает в себя предложение «IN»
select * from table where ID=1 and GROUP in
(select group from groupteam where
department= 'marketing')
Вопрос в том, следует ли мне создавать индекс по идентификаторам столбцов и группе, это поможет? Или, если нет, я должен создать индекс на второй таблице в столбце DEPARTMENT? Или мне нужно создать два индекса для обеих таблиц?
Первая таблица имеет 249003. Вторая таблица имеет в общей сложности 900 строк, в то время как запрос в этой таблице возвращает только 2 строки. Вот почему я удивлен, что ответ так медленный.
Спасибо
Это не так много записей для обработки базы данных. В общем, да, индекс поможет. Какой тип базы данных? –
Да, вам нужен индекс для ID и GROUP. Или сначала выберите записи в таблице Temp. Выберите в #tmpGroups из groupteam, где department = 'marketing'. Затем присоединитесь к этой соблазнительной таблице. Выберите –
. Hi используется вся база данных db2. – Dejan