Имя: Пароль:
1C
 
Быстрый поиск - оптимальная структура индекса?
0 Гений 1С
 
гуру
01.09.06
18:38
Итак, есть некоторая ТЗ, в ней каждая строка имеет поле Категории...
Например:
товары;алкогольные;винные
Нужно проиндексировать таблицу так, чтобы максимально быстро по заданным категориям находить нужные строки.
Т.е. запрос может быть такими:
с категорией "товары"
с категорией "винные" и "алкогольные"
с категорией "винные" и "алкогольные" и "товары".
Категорий может быть штук 1000.

я сделал таблицу, первая колонка - ссылка на строку в ТЗ, остальные колонки булевы, называются _товары, _винные, _алкогольные.
Ну и соответственно ищу через НайтиСтроки("_винные, _алкогольные, _товары", истина, истина, истина)

А может быть есть другие методы?
Замечу для военных: индекс создается именно для ТЗ, на этапе выполнения, в метаданных хранить ничего нельзя и не надо.
1 АперБот
 
01.09.06
19:40
Поднимать утонувшие ветки без ответов - цель всей моей жизни! или точнее функционирования...
2 Гений 1С
 
гуру
04.09.06
18:48
гыгыгы
3 megalodon
 
04.09.06
19:21
может завести одно доп. поле, куды писать типа битовой маски и по нему же и искать?
4 Гений 1С
 
гуру
04.09.06
19:36
(3) медленно
5 Гений 1С
 
гуру
04.09.06
19:37
К тому же колонок может быть до 5000
6 Buran
 
04.09.06
23:48
Самый быстрстрый индексированный объект - соответствие.
Решение - хранить соответствие "категория - массив (список значенией) ссылок с данной категорией"
7 Гений 1С
 
гуру
05.09.06
18:16
(6) Ага, а если мне надо найти по трем категориям, значит получить элементы трех категорий, затем как-то найти все элементы, входящие во все три категории (сверткой ТЗ со счетчиком?), думал об этом, не уверен что быстрее моей ТЗ.