|
|
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
Коллеги, ктонибуть смог научить PD автоматически генерировать иднексы на FK? PD 12.1. Current DB = Oracle 11g. Шаблони имени необходим %U13:CHILD_TABLE_NAME%_%U12:PARENT_TABLE_NAME%_IFK Извените если боян, редко к вам захожу :) Поиск тоже ничего не дал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 11:32 |
|
||
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
Skulll пишет: > Коллеги, ктонибуть смог научить PD автоматически генерировать иднексы на FK? > PD 12.1. Current DB = Oracle 11g. Это ВРЕДНО ! индексы на FK надо создавать руками, тщательно это обдумывая. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 12:02 |
|
||
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
MasterZiv Skulll пишет: > Коллеги, ктонибуть смог научить PD автоматически генерировать иднексы на FK? > PD 12.1. Current DB = Oracle 11g. Это ВРЕДНО ! индексы на FK надо создавать руками, тщательно это обдумывая. Да у нас все однотипно и строго по Naming Convention. ID всегда PK, всегда NUMBER(24), составные ключи не используем. Думаю такие ограницения позволяют создать один скрипт для свех? Но другой вопрос позволяет ли это PD! Я в нем так и не понял, какие шаблонные (%%) переменные в каких случаях можно использовать. И куда записывать скрипт который будет вызываться при событии создания FK? Для PK есть PkAutoIndex. Которые тоже кстати не удается запустить! Как я понял создается он в области Create. Там есть шаблонная переменаня %OPTIONS% в тексте которой есть переменная %s (<index_name>), но почему то этот блок у меня не инициализируется. А для FK? И Куда собственно писать скрипт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 12:55 |
|
||
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
Skulll пишет: > Да у нас все однотипно и строго по Naming Convention. > ID всегда PK, всегда NUMBER(24), составные ключи не используем. Думаю > такие ограницения позволяют создать один скрипт для свех? Здесь дело не в этом. А в том, что в дочерней таблице у вас могут быть разные ситуации. Например, если связь идентифицирующая, и поля родительской таблицы идут в PK дочерней, то индекс ваш на FK, возможно, УЖЕ СОЗДАН -- это PK дочерней таблицы. Зачем вам лишний индекс ? Или другой случай, когда не нужно создавать индексы на FK в дочерней таблице: если родительские записи вы никогда удалять не собираетесь. На счёт конкретно PD сказать не могу ничего, забыл уже всё. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 13:41 |
|
||
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
Skulll wrote at 22.12.2008 11:32: > Коллеги, кто нибуть смог научить PD автоматически генерировать индексы на FK? > PD 12.1. Current DB = Oracle 11g. > Шаблоны имени необходим %U13:CHILD_TABLE_NAME%_%U12:PARENT_TABLE_NAME%_IFK Меню Tools-> Rebuild Objects-> Rebuild Indexes (Ctrl+Shift+I). Именно такой шаблон имхо не возьмет, у меня прокатил %CHILD%_%PARENT%_IFK. Посмотри по справке возможные переменные. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 13:50 |
|
||
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
Denis Popov Меню Tools-> Rebuild Objects-> Rebuild Indexes (Ctrl+Shift+I). Именно такой шаблон имхо не возьмет, у меня прокатил %CHILD%_%PARENT%_IFK. Посмотри по справке возможные переменные. Точно!! Вот так работает %.U15:CHILD%_%.U10:PARENT%_IFK Но теперь проблема в том что у меня певрвые пять символов идет префикс подсистемы, т.е. clog_*** Конструкция %.U15:CHILD%_%.-U10:PARENT%_IFK берет последние 10 символов. Т.е. мне нужно сперва обрезать до 15 с начала, а потом 10 с конца. Другово выхода не вижу из за отсутствия функции SUB STRING. Такая конструкция проходит %.U15:CHILD%_%.U15.-10 :PARENT%_IFK но PD к сожалению отбрасывает .U15 ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:11 |
|
||
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
Skulll wrote at 22.12.2008 15:11: На мой взгляд, если у тебя внешние ключи уже именованы по правилу наподобе XXX_FK, то можно чуть поменять правила именования индексов c "IFK" на "FKI" и формировать их имена как %REFR%I :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 15:26 |
|
||
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
Skulll пишет: > Вот так работает %.U15:CHILD%_%.U10:PARENT%_IFK Зачем так сложно именовать индексы ? Просто перечислите поля, в них входящие, в порядке вхождения. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 18:41 |
|
||
|
Auto create index on FK for PD
|
|||
|---|---|---|---|
|
#18+
Denis Popov Skulll wrote at 22.12.2008 15:11: На мой взгляд, если у тебя внешние ключи уже именованы по правилу наподобе XXX_FK, то можно чуть поменять правила именования индексов c "IFK" на "FKI" и формировать их имена как %REFR%I :) Да, скорей всего так и сделаю. MasterZiv Skulll пишет: > Вот так работает %.U15:CHILD%_%.U10:PARENT%_IFK Зачем так сложно именовать индексы ? Просто перечислите поля, в них входящие, в порядке вхождения. А нет доступа к столбцам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 18:46 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35727435&tid=1543513]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
174ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 468ms |

| 0 / 0 |
