Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Недостающие значения во внешних ключах
|
|||
|---|---|---|---|
|
#18+
Уважаемые, я оказываюсь понимать происходящие и, поскольку в DB2 весьма новичёк, хотелось бы услышать ваше мнение. Итак, сервер - Database server = DB2/LINUXX8664 8.2.9, есть 2 таблицы Author и Person. Автор ссылается на Персону по полю person_id. В комментариях после запроса - количество выданных строк или значение каунта, в зависимости от запроса. Код: plaintext 1. Я отключаю внешний ключ и затем снова включаю его (я не знаю в каком состоянии был ключ до моих действий) Код: plaintext 1. И я полез проверять Код: plaintext А давай-ка посмотрим на значения и тут началось: Код: plaintext 1. С несовпадающими значениями что-то несложилось, давай посмотрим со совпадающими Код: plaintext 1. 2. Лефт джоины не работают, вернёмся к старым добрым подзапросам Код: plaintext 1. Далее начались извращения с бубном: Код: plaintext То есть в Author.person_id находятся значения такие значения, которіх нет в Person.person_id. Я взял на пробу пару таких значений и действительно, таких значений в Персон нет. Теперь вопросы: Как может существовать такой внешний ключ, который ничего не ограничевает? Как посмотреть состояние внешнего ключа? Может он и в исходной БД отключён. Что происходит с запросами? Я не понимаю их работу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 13:29 |
|
||
|
Недостающие значения во внешних ключах
|
|||
|---|---|---|---|
|
#18+
mwolfЯ отключаю внешний ключ и затем снова включаю его (я не знаю в каком состоянии был ключ до моих действий) Код: plaintext 1. 1. Как может существовать такой внешний ключ, который ничего не ограничевает? 2. Как посмотреть состояние внешнего ключа? Может он и в исходной БД отключён. 3. Что происходит с запросами? Я не понимаю их работу Код: plaintext 1. 2. 3. Informational constraints введены для тех случаев, когда логическая правильность данных проверяется на уровне приложений и проверка этой целостности на уровне базы слишком затратна. Информациия эта по желанию (для проверки см. ENABLEQUERYOPT) может быть использована оптимизатором для оптимизации запроса. Негативный эффект от этого может быть в том, что запрос может возвращать неправильные данные (как в вашем случае), если есть нарушение ограничения и ENABLEQUERYOPT='Y'. В таких случаях рекомендуется alter table ... alter constraint ... disable query optimization. Сделайте так и перезапустите свои запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 16:45 |
|
||
|
Недостающие значения во внешних ключах
|
|||
|---|---|---|---|
|
#18+
Mark Barinsteinselect ENFORCED, ENABLEQUERYOPT from syscat.tabconst where tabschema=USER and tabname='AUTHOR' and constname='SQL050915213038020' [/src]Теперь ответы: Informational constraints введены для тех случаев, когда логическая правильность данных проверяется на уровне приложений и проверка этой целостности на уровне базы слишком затратна. Информациия эта по желанию (для проверки см. ENABLEQUERYOPT) может быть использована оптимизатором для оптимизации запроса. Негативный эффект от этого может быть в том, что запрос может возвращать неправильные данные (как в вашем случае), если есть нарушение ограничения и ENABLEQUERYOPT='Y'. В таких случаях рекомендуется alter table ... alter constraint ... disable query optimization. Сделайте так и перезапустите свои запросы. Да, это оно. Правда откуда это вылезло не совсем понятно, но это уже наши проблемы. Спасибо, а то я чуть мозг не сломал от таких результатов :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2009, 14:47 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=35848148&tid=1603380]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 359ms |

| 0 / 0 |
