Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> multicolumn CONTEXT index, не поддерживается транзакционность... 
:(
    Опции темы
onsh76
Дата 15.2.2006, 04:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 20.11.2005
Где: Beautiful BC

Репутация: нет
Всего: 5



Народ, выведите на путь истинный...
Задолбался уже о стенку биться. smile

Имелся ряд standalone CONTEX Оракл Техт индексов используемых в запросе. Перформанс был ну мягко скажем не очень...
Когда обьединили standalone индексы, относящиеся к одной и той же таблице, получили big releaf по response time, но потеряли транзакционность: не видно изменений, когда значение в одной из колонок обьеденненного индекса апдейтится.
Запрашиваю таблицу DR$<index_name>$I: токен не проиндексирован.

Вот стэйтмент которым генерю индекс:

Код

CREATE INDEX rep_mlt
ON rep (rep_id)
INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS (' MEMORY 98M SECTION GROUP rep_multigroup LEXER my_lexer STOPLIST my_stop WORDLIST my_wordlist DATASTORE ctx_mltstr_rep SYNC(EVERY "SYSDATE+5/1440") TRANSACTIONAL');

Я уже и вручную синхронизировал индекс с помощью :
1. exec CTX_DDL.OPTIMIZE_INDEX( idx_name => 'rep_mlt', optlevel => 'FULL');
2. exec CTX_DDL.SYNC_INDEX('rep_mlt', '2M');
Результат все тот же: не индексируется проапдэйченный контент, хоть тресни.
Когда грохаешь индекс и строешь его снова, то все ОК. Но фишка то в том, что он должен бы транзакцинонный, standalone индексы-то работают.
PM MAIL   Вверх
onsh76
Дата 15.2.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 20.11.2005
Где: Beautiful BC

Репутация: нет
Всего: 5



Сам тему создал - сам себе и отвечаю. smile

На первый взгляд нет ошибок, все сделано правильно.
Но есть один маленький, но очень важный момент, который был очевиден для меня, но не был описан в деталях выше. Так вот, используемая колонка rep_id в создании rep_mlt индекса и являлась предметом всех траблов, потому как эта колонка одна из физически существующих в таблице и задекларированных в multi-column index-е.
Фрагмент из руководства по Оракл Текст:
Цитата

MULTI_COLUMN_DATASTORE
To index, you must create a dummy column to specify in the CREATE INDEX statement. This column's contents are not made part of the virtual document, unless its name is specified in the columns attribute.

The index is synchronized only when the dummy column is updated. You can create triggers to propagate changes if needed.


Одним словом - RTFM.

Ну а если честно, то поддался я влиянию одного ДБА, который курирует наш проект. Когда я задал ему вопрос почему в руководстве написано MUST create a dummy column, он не смог связно ответить, но заверил что dummy column is not a big deal, в его проектах это было стандартом.
Возможно.
Если не нужна транзакционность. smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0651 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.