powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / FOREIGN KEY
5 сообщений из 5, страница 1 из 1
FOREIGN KEY
    #36210131
inf777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НЕ судите строго. Я с DB2 знаком не сильно. У меня вопрос по плану оптимизатора. Но начну с вопроса как устроены FOREIGN KEY в DB2 изнутри. Т.е. создается ли какой-то системный индекс по полю с которого делается ссылка. Если да, то в какой из системных таблиц таблиц можно увидеть наименование этого индекса. Если индекса нет, то интересно, как DB2 умудряется в ONLINE режиме без использования индексов быстро проверять при удалении строки из родительской таблицы, что на нее нет ссылок.
Ну и если все же индекс есть, то почему оптимизатор Db2 не использует этот индекс в плане запроса.
т.е. если есть
table a(id integer primary key);
table b(num char(10),
ref_id integer foreign key on a(id));
в таблице b миллион записей
запрос вида
select num from b where ref_id=10000
упорно не использует "возможный" индекс из FOREIGN KEY
...
Рейтинг: 0 / 0
FOREIGN KEY
    #36210284
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
inf777,

Индекс по FK не создаётся автоматически.
Индексы на таблицу можно посмотреть так:
Код: plaintext
1.
2.
3.
4.
5.
select substr(c.indname,  1 ,  20 ), c.colseq, c.colname
from syscat.indexes i
join syscat.indexcoluse c
on i.indschema=c.indschema and i.indname=c.indname
where i.tabschema='YOUR_SCHEMA' and i.tabname='YOUR_NAME'
order by c.indname, c.colseq
После создания индекса надо собрать статистику на этот индекс.
...
Рейтинг: 0 / 0
FOREIGN KEY
    #36210306
inf777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Спасибо. Про остальные индексы и так все понятно.

По ответу
Код: plaintext
Индекс по FK не создаётся автоматически.
можно понять что есть какая-то возможность указать Db2 на необходимость создания системного индекса вместе с FOREIGN KEY. Или я все таки выдаю желаемое за действительное.
...
Рейтинг: 0 / 0
FOREIGN KEY
    #36210615
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
inf777По ответу
Код: plaintext
Индекс по FK не создаётся автоматически.
можно понять что есть какая-то возможность указать Db2 на необходимость создания системного индекса вместе с FOREIGN KEY. Или я все таки выдаю желаемое за действительное.Полу-автоматически индекс для FK тоже не создаётся. :)
Вы, если это надо, должны создать такой индекс самостоятельно.
...
Рейтинг: 0 / 0
FOREIGN KEY
    #36210707
inf777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Спасибо. Извините за назойливость.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / FOREIGN KEY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]