Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Добрый день! Хочу создать уникальный индекс на поле MQT. Поле реально что то типа номера и уникальное (имею право создавать). Код: plsql 1. 2. 3. 4. 5. Получаю: Error 01.04.2013 9:28:38 0:00:00.062 <link> - DB2 Database Error: ERROR [42809] [IBM][DB2/NT64] SQL0159N The statement references "TYPE.OPERATION" which identifies a(n) "MATERIALIZED QUERY TABLE" rather than a(n) "TABLE". На основной таблице - индекс уникальный. Это нормально или я чего то не учел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 09:41 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
medoed, Добрый день. CREATE INDEX : Rules ... Unique indexes on system-maintained MQTs are not supported (SQLSTATE 42809). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 09:57 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Mark Barinsteinmedoed, Добрый день. CREATE INDEX : Rules ... Unique indexes on system-maintained MQTs are not supported (SQLSTATE 42809). Спасибо, Марк! В очередной раз убеждаюсь, что MQT - .овно. Хотел соптимизировать запрос, поставил в запросе вместо MQT таблицы справочника на 300 строчек - обычную таблицу и построил уникальный индекс по обычной таблице - стало в 2-ва раза быстрее. Думал вот оно счастье, ан нет - почему то, я даже логически не понимаю почему, нельзя строить уникальный индекс на MQT - это жесть, имхо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 10:06 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
medoed, Постройте неуникальный индекс на это поле, соберите статистику на mqt и её индексы. Используется ли теперь индекс в плане запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 10:19 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Mark Barinsteinmedoed, Постройте неуникальный индекс на это поле, соберите статистику на mqt и её индексы. Используется ли теперь индекс в плане запроса? Пробовал, судя по времени выполнения не помогло... А есть ли в DB2 (9.7) нормальная команда - которая показала бы план запроса или же встроенный визуальный редактор в DB2 Central -который отобразит графически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 10:26 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
medoed, Есть DB2 Command Editor (или Редактор Команд). Вызывается либо из DB2 Control Center (4-я кнопка слева вверху в ряду кнопок), либо Start->Run->db2ce. В нём, соединившись с базой, вводите свой запрос и нажимайте 4-ю слева кнопку вверху в ряду кнопок. Получите графическое представление плана запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 10:40 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Mark Barinsteinmedoed, Есть DB2 Command Editor (или Редактор Команд). Вызывается либо из DB2 Control Center (4-я кнопка слева вверху в ряду кнопок), либо Start->Run->db2ce. В нём, соединившись с базой, вводите свой запрос и нажимайте 4-ю слева кнопку вверху в ряду кнопок. Получите графическое представление плана запроса. Что то план запросы абсолютно разные... Сам запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. И картинки планов запросов - первая с MQT , вторая с обычной таблицей: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 11:31 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Файл не прикрепился - прикрепляю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 11:35 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
medoed, Если значения в DOCUMENT.DOC_OPERATION.ID и TYPE.OPERATION.ID уникальные для саоих таблиц, то здесь вы попали в интересную ситуацию, когда уникальность действительно играет роль. Обратите внимание, что в запросе нет обращений в списке выбора к полям таблиц, отличных от TRANSACTION.LIABILITY_SDEPO. Т.к. DOCUMENT.DOC_OPERATION и TYPE.OPERATION соединяются по своим уникальным ID, то результат запроса не изменится, если вообще выкинуть эти таблицы из плана доступа, что DB2 и делает. Если же хотя бы одно из этих ID неуникально, то так делать нельзя, и приходится обращаться к этим таблицам. Вы вообще к MQT напрямую обращаетесь, или через nickname, на котором построена MQT? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 12:00 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Mark Barinsteinmedoed, Если значения в DOCUMENT.DOC_OPERATION.ID и TYPE.OPERATION.ID уникальные для саоих таблиц, то здесь вы попали в интересную ситуацию, когда уникальность действительно играет роль. Обратите внимание, что в запросе нет обращений в списке выбора к полям таблиц, отличных от TRANSACTION.LIABILITY_SDEPO. Т.к. DOCUMENT.DOC_OPERATION и TYPE.OPERATION соединяются по своим уникальным ID, то результат запроса не изменится, если вообще выкинуть эти таблицы из плана доступа, что DB2 и делает. Если же хотя бы одно из этих ID неуникально, то так делать нельзя, и приходится обращаться к этим таблицам. Вы вообще к MQT напрямую обращаетесь, или через nickname, на котором построена MQT? >>о здесь вы попали в интересную ситуацию, В последнее время я с DB2 часто попадаю, спасибо - что не бросаете в беде Через MQT построено - nickname, на котором построена MQT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 12:11 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
medoed, вы не ответили на вопрос: Вы напрямую к mqt обращаетесь в запросах или к самому nickname? Т.е. вот есть: - nick1 -> my_remote_table - mqt1 as (select * from nick1)... Вы в запросах используете nick1 или mqt1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 13:04 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Mark Barinsteinmedoed, вы не ответили на вопрос: Вы напрямую к mqt обращаетесь в запросах или к самому nickname? Т.е. вот есть: - nick1 -> my_remote_table - mqt1 as (select * from nick1)... Вы в запросах используете nick1 или mqt1? На данный момент mqt1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 13:10 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Mark Barinsteinmedoed, вы не ответили на вопрос: Вы напрямую к mqt обращаетесь в запросах или к самому nickname? Т.е. вот есть: - nick1 -> my_remote_table - mqt1 as (select * from nick1)... Вы в запросах используете nick1 или mqt1? Кстати Марк, вы меня навели на мысль и я поставил в запрос вместо MQT - Nickname (на котором этот MQT базируется) и все залетало и запрос стал, как с таблицей... Тоесть - данный топик конкретный пример, что NickName круче MQT, раннее вы мне не верили! Жалко что DB2 не умеет с NickName нормально работать в функциях нельзя with ur и в динамике юзать NickName... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 13:16 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
medoedНа данный момент mqt1. Вы можете использовать maintained by user MQT. Код: plaintext 1. 2. 3. "Refresh" таблицы будет выглядеть так: Код: plaintext 1. 2. medoedТоесть - данный топик конкретный пример, что NickName круче MQT, раннее вы мне не верили!Если вы используете в запросах mqt1 напрямую, вам эта вся пляска с MQT вообще ни к чему. По поводу круче или нет: это как в вопросе забивания гвоздей - молоток действительно круче микроскопа. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 13:33 |
|
||
|
MQT и уникальный индекс
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinmedoedНа данный момент mqt1. Вы можете использовать maintained by user MQT. Код: plaintext 1. 2. 3. "Refresh" таблицы будет выглядеть так: Код: plaintext 1. 2. medoedТоесть - данный топик конкретный пример, что NickName круче MQT, раннее вы мне не верили!Если вы используете в запросах mqt1 напрямую, вам эта вся пляска с MQT вообще ни к чему. По поводу круче или нет: это как в вопросе забивания гвоздей - молоток действительно круче микроскопа. :) Мне Ваша Аллегория понравилась ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2013, 13:35 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=38206669&tid=1601476]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 278ms |
| total: | 445ms |

| 0 / 0 |
