Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Incremental population of the full-text catalog
|
|||
|---|---|---|---|
|
#18+
Имеет ли смысл создавать индекс по timestamp column? Никак не могу понять ускоряет ли это процесс для incremental обновления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2001, 17:03 |
|
||
|
Incremental population of the full-text catalog
|
|||
|---|---|---|---|
|
#18+
Создал full-text каталог, выполнил Full population. Таблица имеет timestamp поле, даже индекс создал по этому полю. Ничего не меняю - запускаю Incremental population - по идее все должно завершиться мгновенно, а на самом деле процессор занят на 100% и выполнение занимает столько же времени как и в случае full population - вопрос - а чем же он занят??? Изменений же вообще не было ... Т.е. он что тупо перебирает всю таблицу? Так для таблиц с миллионами записей он вечно этим заниматься будет. Черт - последний раз пытался full-text indexing год назад использовать - плюнул, сейчас вот снова идея возникла - ну опять все через задницу, похоже, сделано. Есть у кого-нибудь практический опыт работы с этим безобразием? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2001, 17:32 |
|
||
|
Incremental population of the full-text catalog
|
|||
|---|---|---|---|
|
#18+
Продолжаю задавать вопросы о full-text indexing - с грехом пополам заработали индексы, теперь вот воюю с поиском. Задача: есть таблица с двумя полями, включенными в full-text индекс, я хочу выбрать записи, содержащие два слова: LG и keeper. Проблема: если я использую для вбора CONTAINS(*,'LG keeper') то выбираются записи, в которых ОБА эти слова содержатся в ОДНОМ поле, записи в которых одно слово в одном поле, а другое в другом - не выбираются. Если использую FREETEXT(*,'LG keeper') то нужные мне записи выбираются, но также выбираются записи, содержажщие хотя бы одно слово хотя бы в одном из полей. Как можно выбрать только те записи, которые содержат необходимые мне слова в любом поле - в том числе в разных полях. Или я так и буду в этой ветке сам с собой общаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2001, 20:37 |
|
||
|
Incremental population of the full-text catalog
|
|||
|---|---|---|---|
|
#18+
Что бы Вам было не скучно одному в этой ветке дам Вам 2 совета: 1. Почитайте чего-нибудь про timestamp и подумайте - какое отношение он может иметь к full-text ? 2. Насчет нужной Вам выборки - есть такое ключевое слово OR ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2001, 10:24 |
|
||
|
Incremental population of the full-text catalog
|
|||
|---|---|---|---|
|
#18+
OR - не подходит, так как мне нужно AND - а вот работает этот самый AND только если оба слова в одной колонке, если в одной записи, но в разных колонках - хрен Вам (это в случае CONTAINS, FREETEXT выбирает записи, содержащие хотя бы одно слово, потому наверное и зовут FREE...). Т.е. в одном случае нужные записи не выбираются, а в другом выбирается много лишних. Можно, конечно, по рангу сортировать, но лучше бы без лишних. О timestamp - не понял к чему Вы это - наверное, к incremental update? Так я Вам совершенно конкретно заявляю - если у Вас есть таблица с 10 000 000 записей, и вы изменили ОДНУ запись, то при incremental update SQL Server будет сканировать ВСЕ 10 000 000 записей, будет проверять timestamp в КАЖДОЙ записи и для измененных записей будет обновлять full-text index - займет это все "всего лишь" пару часов. Удобно, правда? Я даже знаю почему он так поступает - timestamp хорош при изменениях, а вот что делать если Вы удалили запись? timestamp - то Вы тоже удалили. Хотя incremental full-text index update сейчас для меня не проблема - в SQL2K появился еще один механим, позволяющий изменять full-text индексы в реальном времени, timestamp, кстати, для этого не нужен.. Так что спасибо за советы, но они не помогли. Может еще идеи есть? А язвить не стоит - я с SQL Server'ом с 93-го года работаю (с 4.21a) - так что BOL читал . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2001, 14:19 |
|
||
|
Incremental population of the full-text catalog
|
|||
|---|---|---|---|
|
#18+
Насчет timestamp был не прав, пардон, невнимательно прочитал. OR я имел ввиду использовать так: where CONTAINS(fld1,'LG keeper') OR CONTAINS(fld2,'LG keeper') а это я не язвлю, я шутить пытаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2001, 15:11 |
|
||
|
Incremental population of the full-text catalog
|
|||
|---|---|---|---|
|
#18+
Да вобщем-то можно так запрос построить, но запрос генерится клиентским приложением, поэтому не хотелось бы вносить изменения в приложение если мы третье поле, например, в full-text indexing добавим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2001, 17:39 |
|
||
|
Incremental population of the full-text catalog
|
|||
|---|---|---|---|
|
#18+
В том-то и проблема, что если одно поле содержит LG, а другое keeper - то Ваш запрос ничего не вернет - CONTAINS работает только если ВСЕ слова содержатся в ОДНОМ поле - в этом и заключается моя проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2001, 17:42 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3579&tid=1826875]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
21ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 302ms |

| 0 / 0 |
