Книга: Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Имена индексов ограничений
Имена индексов ограничений
Использование явных планов в Yaffil в триггерах и процедурах существенно упрощается благодаря возможности именования индексов, автоматически создаваемых сервером для ограничений первичных, внешних ключей и ограничений уникальности. В версиях InterBase такие индексы приобретают системные имена в формате RDBSPRIMARYX для индексов первичных ключей, RDB$FOREIGNX для индексов внешних ключей и RDB$X для индексов ограничений уникальности. X обозначает номер индекса данного типа по порядку с момента создания базы данных (или восстановления из резервной копии). Так как эти номера могут измениться при следующем восстановлении базы данных, фиксировать такие индексы в плане становится опасным. Возникает тупиковая ситуация: автоматический план неэффективен, явный план записать нельзя. Разработчикам приходится создавать собственные индексы, целиком дублирующие системные. Однако появление новых индексов на таблице влечет к увеличению дискового пространства, занимаемого базой, замедлению операций обновления, кроме того повышению вероятности выбора оптимизатором неверного плана из-за увеличения числа вариантов соединений таблиц.
В Yaffil индексы для ограничений могут принимать имена соответствующих ограничений.
Нужное поведение включается параметром CONSTRAINT_INDEX_NAME в конфигурационном файле. Например:
SQL> create table T (id into not null, constraint PK_T primary
key (id));
SQL> show index;
PK_T UNIQUE INDEX ON Т(ID)
- Улучшенная производительность
- Улучшенный оптимизатор запросов
- Оптимизация сетевого трафика
- Эффективная работа с временными файлами сортировки
- Оптимальная структура хранения записей
- Ускоренная работа с индексами
- Улучшенная стратегия вычисления предиката IN и условий, объединенных по OR
- Ускоренное обновление данных
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Индексы по выражениям
- Уменьшение размера, занимаемого индексами
- Выражения в значениях по умолчанию для доменов
- Удобная операция объединения строк
- Расширенные возможности указания пользовательских планов
- Имена индексов ограничений
- Улучшенное время отклика для версии SuperServer
- Улучшенный протокол локальных соединений (XNET)
- Ограничение времени ожидания для транзакций (Lock timeout)
- Главные имена: словарик
- 3.3. Применение ограничений при работе с перекрестными видами
- 4.1.3 Освобождение индексов
- 2.2. Имена IPC
- Удаление ограничений
- Допустимые имена алиасов таблиц
- Статистика страниц индексов
- Имена объектов длиной 68 символов
- Множественные интерфейсы и имена методов
- 5. Понятие индексов
- При подключении к локальной сети компьютер выдает сообщение об ошибке «В сети существуют совпадающие имена». Что делать?
- Как выборочно скрыть имена пользователей, отображаемых на экране приветствия?