Ограничения
Ограничения
Firebird допускает до 256 определенных пользователем индексов на одну таблицу в версии 1.5 и выше, и 64 в более ранних релизах. Однако это теоретические ограничения, которые могут быть скорректированы за счет размера страницы и фактического размера на диске данных описания индекса в корневой странице индекса. Вы не сможете хранить 256 индексов в базе данных с размером страницы менее 16 Кбайт. На корневой странице индекса каждому индексу нужен 31 байт для его идентификатора, место для описания каждого сегмента (столбца), включенного в состав индекса, и несколько байтов для хранения указателя на первую страницу индекса. Даже страница в 16 Кбайт может не оказаться способной хранить 256 индексов, если в базе данных существует немало составных индексов.
Для создания индексов пользователь должен иметь право соединяться с базой данных.
Общая длина индекса не может превышать 252 байта. В реальности количество байт может быть значительно меньше. Факторами, которые могут уменьшить количество фактических "мест", доступных для хранения символов, являются:
* интернациональные наборы символов, использующие несколько байт на символ;
* интернациональные наборы символов со сложными парами верхний/нижний регистры и/или сложным словарем правил сортировки;
* использование недвоичных порядков сортировки;
* множество сегментов (составной индекс), которые требуют дополнительных пустых байтов для сохранения геометрии индекса.
Другими словами, использование любого набора символов за исключением NONE будет влиять на ваши решения по проектированию индексов - особенно на использование составных индексов. Это плохие новости. Хорошие новости- Firebird правильно использует индексы из одного столбца в многостолбцовых поисках и сортировках, сокращая потребность в многостолбцовых индексах, которые вы могли использовать в других СУБД.
Больше книг — больше знаний!
Заберите 20% скидку на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ