Мы сталкиваемся с некоторыми проблемами с производительностью в некоторых отчетах, которые работают с миллионами строк.Я попытался оптимизировать SQL-запросы, но это только сокращает время выполнения до половины.
Следующим шагом является анализ и изменение или добавление некоторых индексов, поэтому у меня есть несколько вопросов:
1-SQL-запросы содержат много объединений: нужно ли создавать индекс для каждого внешнего ключа?
2 - Представьте себе запрос SELECT * FROM A LEFT JOIN B on a.b_id = b.id where a.attribute2 = 'someValue'
, и у нас есть индекс в таблице A на основе b_id и attribute2:использует ли мой запрос этот индекс для части where (я знаю, были ли два условия в условии where, где будет использоваться индекс).
3 - Если индекс основан на столбцах C1, C2 и C3,и я решил добавить индекс, основанный на C2, мне нужно удалить C2 из первого индекса?
Спасибо за ваше время