Честно говоря, от AndyD ожидал бы пост с конкретикой и рекомендациями практика (как ускорить, как сделать лучше), а не вот так вот... Несколько разочарован в этом плане. Например, отказался от URL, перешел на ссылки по RecId — удалось добиться такого-то прироста.
Что касается запросов на удаление и поиск сова, интересным аргументом была бы статистика по затраченному времени на реальной БД в сравнении с той же вставкой. 1 процент, 10 процентов, 50, 90 или 99? А так... даже непонятно это аргумент за или против.
Если предположить что поиск отбирает малую часть измененных записей, которые должны быть переиндексированы, и для каждой переиндексируемой записи одним запросом удаляет все ранее проиндексированные по ней данные используя при этом каскадное удаление, а затем для каждого слова ищет не встречалось ли оно ранее в словаре — довольно оптимально в рамках той реализации, которую выбрали авторы. Даже если словарь не влезет в кэш Аксапты — будет работать кэш на уровне СУБД. У меня при индексировании в данном коде узкого места не было. Да и сколько слов уникальных окажется в одной записи во всех текстовых полях? Несколько десятков? Даже если взять мемо-поля, то несколько сотен. Я ради любопытства книжку целую индексировал когда оценивал производительность. Получилось менее 10 тысяч слов, а точнее комбинаций символов (переносы слов порождали новые слова-половинки, цифры шли за слова, и т.п.). В общем по моему опыту слов в записи не много. Сам был удивлен такому результату. Мног очего познал пока экспериментировал, в общем.
Что касается парсинга текстовых переменных — по моему опыту ощутимо тормозит на строках порядка мегабайтах и более (на очень длинных текстах). Я лишь хотел сказать что если будут индексироваться данные с очень длинным текстом — то проблема может появиться и отсюдова (чтобы те кто не пробовал не имели неоправданных ожиданий). В посте же даже намека нет на размер тестируемой строки или независимость от размера. На мой взгляд 10 процентов — это совсем не "крайне слабо". Там-сям по 10 процентов — так и 50-60 набежит. Впрочем, дело вкуса.
Как воспринимать комментарий к цитатам в самом начале и конце сообщения вообще теряюсь в догадках.
__________________
С уважением,
glibs®
|