| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > [Firebird] Оптимальное число индексов в таблице |
| Автор: Gluttton 10.5.2009, 23:08 | ||
| Доброго времени суток! СУБД - FireBird 2.1. В БД (помимо всего прочего) есть три таблицы со сходной структурой:
Где Х, Y - координаты (на всякий случай). Таблицы заполняються однажды! В процесе эксплуатации БД, в 99% запросов будет осуществлен поиск одного поля в которое входит определенная точка. Т.е. просмотр всех четырех значений координат. Объемы таблиц: 1 ~600 записей 2 ~100К записей 3 ~6М записей Вопрос: Можно ли (и нужно ли) организовывать индексы по всем четырем значениям координат? Т.е. не будет ли от этого хуже (я часто в И-нете натыкаюсь на высказываения о том, что чрезмерное использование индексов ухудшает быстродействие)? |
| Автор: Akella 11.5.2009, 09:54 |
| индексы нужно организовывать только по тем полям, по которым будет производится поиск или сортировка. Думаю, что если в таблице 600 записей, то индекс может и не понадобится. |
| Автор: Gluttton 11.5.2009, 22:44 | ||
Меня просто смущает, тот факт, что из шести столбцов для таблицы объемом ~6М: 1 индекс - т.к. первичный ключ; 2 индекс - т.к. внешний ключ; 3-6 индексы - т.к. по этим полям будет осуществляться поиск. Итого на 6 столбцов - 6 индексов. Это нормально? Серверу не поплохеет |
| Автор: Gluttton 12.5.2009, 07:29 | ||||||
Сказывается усталость - час не мог понять зачем в БД хранить данные о половине работника
А и не знал, что так можно, спасибо за идею - буду пробовать!
1-го не предвидиться. 2-ое условие тоже в общем выполняется (но вот комбинации X_S, Y_S и X_F, Y_F вообще уникальны). |
| Автор: Deniz 12.5.2009, 07:38 |
| главное чтобы порядок полей в индексе и в where был одинаковый |
| Автор: Akella 12.5.2009, 09:11 | ||
Будет иметь значение, что используется в условии where: and или or. Возможно придётся делать один составной индекс, и два раздельных. Добавлено через 1 минуту и 32 секунды После заполнения пересчитывай статистику индексов. |
| Автор: Gluttton 16.5.2009, 12:32 | ||||
Поразмыслив над предложеным, взяв во внимание, что поиск в запросе осуществляется так:
Создал вот такой индекс:
Результат превзошел все мои ожидаения Akella и Deniz заслужено получают +1 за практический совет! Спасибо! |