Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить список пользовательских (несистемных) индексов [D7, FB 1.5.2]


Вольный Стрелок ©   (2005-08-04 16:30:00) 

собственно, сабж
Нужно отсеять всякие индексы, полученные автоматически при создании PK, FK, UK.
Извлечь только вручную созданные.


Вольный Стрелок   (2005-08-04 18:03:00) [1]

Потому, что данные всякие бывают :(
Левые индексы только тормозят, никакой пользы от них при заливке.
А правые индексы (от ограничений) пользу имеют, ограничивают :), мусор режут.
При этом, конечно, порядок заливки таблиц важен, чтобы на FK не напороться.


Johnmen   (2005-08-04 17:55:00) [2]

>Использую для отключения индексов, не связанных с CONSTRAINT

Почему же такая избирательность ?


Вольный Стрелок   (2005-08-04 17:53:00) [3]

кому интересно, у меня получилось такое:
SELECT rdb$index_name AS index_name
FROM RDB$INDICES
WHERE rdb$relation_name NOT LIKE 'RDB$%' AND
     rdb$index_name NOT IN( SELECT rdb$index_name
                              FROM RDB$RELATION_CONSTRAINTS
                              WHERE rdb$constraint_type IN ( 'FOREIGN KEY', 'PRIMARY KEY', 'UNIQUE' ) )


Использую для отключения индексов, не связанных с CONSTRAINT (при массовых заливках). Потом включаю назад.


Вольный Стрелок   (2005-08-04 17:05:00) [4]

Вот именно поэтому и спрашиваю. У меня все CONSTRAINT именованные и никаких автогенерируемых имен типа RDB$ нет.

[1,2]
UK - это UNIQUE KEY, задаваемый через CONSTRAINT
За ссылку спасибо, может, что-то полезное возьму. Но там рассматриваются RDB$-индексы :(


Андрей Жук   (2005-08-04 16:56:00) [5]


> Нужно отсеять всякие индексы, полученные автоматически
> при создании PK, FK, UK.

Ха. При создании первичного/уникального/внешнего ключа в FB можно указывать имя индекса. Как в таком случае фильтровать будешь?


Sergey13   (2005-08-04 16:49:00) [6]

2 [2] Digitman ©   (04.08.05 16:47)
>UK (UserKey) - это что-то новое
Unique - это хорошо забытое старое. 8-)


Digitman   (2005-08-04 16:47:00) [7]

UK (UserKey) - это что-то новое ... неужто я так дремуч и отстал от жизни ?


Johnmen   (2005-08-04 16:34:00) [8]

А что такое UK ?
см. http://www.ibase.ru/devinfo/sysqry.htm


Наверх

Титульная страница Поиск, карта сайта Написать письмо