Я работаю над проектом с довольно большой базой данных Oracle (хотя мой вопрос в равной степени относится и к другим базам данных). У нас есть веб-интерфейс, который позволяет пользователям выполнять поиск практически по любой возможной комбинации полей.
Чтобы ускорить этот поиск, мы добавляем индексы к полям и комбинациям полей, по которым, как мы полагаем, пользователи будут часто искать. Однако, поскольку мы не знаем, как наши клиенты будут использовать это программное обеспечение, сложно определить, какие индексы создать.
Пространство не проблема; у нас есть 4-терабайтный RAID-накопитель, из которого мы используем лишь небольшую часть. Однако меня беспокоит возможное снижение производительности из-за слишком большого количества индексов. Поскольку эти индексы необходимо обновлять каждый раз при добавлении, удалении или изменении строки, я думаю, было бы плохой идеей иметь десятки индексов в одной таблице.
Так сколько индексов считается слишком большим? 10? 25? 50? Или я должен просто охватить действительно, действительно распространенные и очевидные случаи и игнорировать все остальное?