|
02.07.2015, 09:54 | #1 |
Участник
|
Индексы
Добрый день.
Коллеги, возникла задача безболезненно создать на продуктивном окружении индекс по большой табличке. Есть 2 проблемы : 1. Аксапта перед созданием индекса обязательно блокирует табличку, что подвешивает всех пользователей. Вопрос - зачем она это делает ? Как показывается практика, если взять тот же запрос по созданию индекса и выполнить его с директивой "ONLINE" (случай оракла) то все создается на лету без блокировок. Непонятно, почему бы аксапте всегда так не делать. Возможно ли заставить её выдавать именно такие запросы при синхронизации? 2. Как можно по конкретному индексу в AOT получить SQL выражение которое аксапта использует при синхронизации для создания индекса. Просмотр методов классов SysDictIndex / DictIndex ничего не дал. |
|
02.07.2015, 10:22 | #2 |
Участник
|
все зависит от таблицы.
для не особо используемых подойдет следующий способ переносите объект на рабочую версию, аксапта зависает находите зависшую команду в SQL create index, запоминаете ее, срубаете сессию SQL, в аксапте выдается ошибка, но объект сохраняется далее добавляете в эту команду online = on, создаете индекс к сожалению это не прокатит для таблиц с которыми постоянно идет работа (Inventtrans и подобных), даже для online = on блокировка будет накладываться в начале создания |
|
|
За это сообщение автора поблагодарили: Logger (3). |
02.07.2015, 10:27 | #3 |
Участник
|
Спасибо.
Я в общем-то так и делаю. Но хотелось в жизни немного совершенства. Кстати, не замечал за ONLINE особых блокировок. Возможно все зависит от нагрузки. |
|
02.07.2015, 10:29 | #4 |
Участник
|
Нашел частичный ответ
X++: new SqlDataDictionary().indexCreateDDL(tableNum(salestable)) Дальше уже дело техники как их выкусить и добавить ONLINE. |
|
|
За это сообщение автора поблагодарили: gl00mie (5), Cardagant (2). |
02.07.2015, 11:26 | #5 |
Модератор
|
Хинт - SysSqlAdmin форму так до сих пор и не прибили
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: Logger (3). |
02.07.2015, 11:36 | #6 |
Участник
|
|
|
02.07.2015, 11:18 | #7 |
Модератор
|
Цитата:
Цитата:
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: Logger (7). |
Теги |
ddl, online, индекс |
|
Похожие темы | ||||
Тема | Ответов | |||
Стандартные неиспользуемые индексы | 14 | |||
Перестали работать индексы в запросах | 2 | |||
Не удалять индексы при синхронизации | 18 | |||
Oracle - снова индексы | 19 | |||
При каждом обращении строит индексы в Old | 0 |
|