|
24x7 индексы HELP
|
|||
---|---|---|---|
#18+
Здравствуйте всем. Столкнулись с серьезной проблемой в плане добавления новых индексов. В Cache' индексы сначала декларируются, а потом строятся. И между тем как индекс задекларирован(определен/добавлен к классу) и индекс построен могут проходить часы(что поделать). При этом оптимизатор запросов начиная с декларации уже считает что индекс существует и использует его в запросах. Раньше все было нормально - в 00:00 ночи, когда никто не работает мы обновляли архитектуру базы и строили индексы, ну обычно к 08:00 все индексы уже отстраивались и система работала в нормальном режиме. Система перешла в режим работы 24х7 и теперь АХТУНГ. Мы не можем нормально добавлять индексы. Едва стоит его задекларировать как оптимизатор начинает его использовать => запросы выдавать некорректные данные => бизнес процессы некорректно отрабатывать => ((((((((((((((( LOCK TABLE IN EXCLUSIVE MODE не помогает - SELECT'ы все равно отрабатывают и выдают некорректные результаты. Можно ли как-нить сделать индекс невидимым для оптимизатора до тех пор, пока он не будет отстроен? Очень нужна помощь!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 04:16 |
|
24x7 индексы HELP
|
|||
---|---|---|---|
#18+
sigmov, стандартно, я думаю, никак. Ручками можно добавить индекс и скомпилировать класс на другой машине, посмотреть в интовом коде метку %BuildIndices и циклы ниже и разобраться с созданием нового индекса. На основе этого написать собственную программку по созданию конкретного индекса для конкретного класса. Запустить эту программу на рабочей системе, потом перекомпилировать класс с новым индексом. Ну а потом просто после добавления каждого индекса подправлять свою програмку и по той же технологии строить индекс на работающей системе. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 08:26 |
|
24x7 индексы HELP
|
|||
---|---|---|---|
#18+
sigmovМожно ли как-нить сделать индекс невидимым для оптимизатора до тех пор, пока он не будет отстроен?ser_shuстандартно, я думаю, никак. Можно . И это описывалось достаточно подробно (см. SetMapSelectability ). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 09:57 |
|
24x7 индексы HELP
|
|||
---|---|---|---|
#18+
servit, спасибо за информацию, что то я эту фичу 2013 версии не заметил. Удобная, только надо успеть выключить-включить оптимизатор по индексу )) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 12:42 |
|
24x7 индексы HELP
|
|||
---|---|---|---|
#18+
ser_shuУдобная, только надо успеть выключить-включить оптимизатор по индексу ))Не нужно ничего успевать: индекс можно выключить даже ещё не существующий. В документации именно такая последовательность и указана: сначала выключить индекс, потом добавить его в класс, скомпилировать класс, сгенерировать индекс, включить его. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2013, 13:05 |
|
24x7 индексы HELP
|
|||
---|---|---|---|
#18+
sigmov, Сталкивался в 2012 с ситуацией, когда при добавлении индекса в класс с полмиллиардом записей индекс строился криво. Разбираться не стал - после третьего "облома" просто написал программку для построения индекса. Все стало ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2013, 05:35 |
|
|
start [/forum/search_topic.php?author=monk&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 406ms |
total: | 575ms |
0 / 0 |