Имя: Пароль:
1C
1С v8
Таблица значений и Индексы
0 AneJIbcuH
 
22.03.18
11:13
День добрый! Тема про ТЗ и индексы достаточно избита, но всё равно не сразу ответы ищутся.
Такой вопрос. Создается ТЗ и колонки:

"ТЗ = Новый ТаблицаЗначений;"
"ТЗ.Колонки.Добавить("Колонка_1");"

Далее идут алгоритмы, пронумеруем их:

Алгоритм 1:
Заполняется эта ТЗ (достаточно много строк), но необходимо по Колонке_1 проверять уникальность: "Стр = ТЗ.Найти(Значение,"Колонка_1")"

Алгоритм 2:
Дозаполняются некоторые колонки этой ТЗ, где снова Строка ТЗ Ищется "Стр = ТЗ.Найти(Значение,"Колонка_1")"

Так вот, для ускорения поиска в этой ТЗ, перед каким алгоритмом лучше разместить индексирование: ТЗ.Индексы.Добавить("Колонка_1")?

Я это к чему, если размещаем строку ТЗ.Индексы.Добавить("Колонка_1") сразу после создания ТЗ, то как в этом случае отрабатывает Алгоритм 1? Новая строка сразу индексируется и по ней происходит более ускоренный поиск?
1 rs_trade
 
22.03.18
11:36
(0) индекс создается в момент создания индекса по данным на основании которых он создается
2 AneJIbcuH
 
22.03.18
11:39
(1) "индекс создается в момент создания индекса.." сильно
3 AneJIbcuH
 
22.03.18
11:43
(1) Так момент создания индекса когда наступает? Когда строку ТЗ добавляю или Когда ТЗ заполнена и идёт: ТЗ.Индексы.Добавить("Колонка_1")
4 Курцвейл
 
22.03.18
11:43
(2) Если нужен только 1 индекс, то проще отсортировать.
Тогда эта колонка станет праймари кей.
5 Cool_Profi
 
22.03.18
11:44
(3) В момент появления данных или индекса
6 Cool_Profi
 
22.03.18
11:44
(4) Это как?
7 rs_trade
 
22.03.18
11:45
(2) не очень понятно че за вопрос. если у тебя есть данные в таблице и ты добавляешь индекс, то он добавляется по команде.

если ты пустую таблицу со структурой создал, то индекс будет создаваться или меняться вместе с данными в этом поле
8 rs_trade
 
22.03.18
11:46
считай что индекс для поля это скрытое служебное поле которое меняется в одной транзакции с данными для которых он создан
9 Курцвейл
 
22.03.18
11:47
(6) Праймари кей это индекс таблицы, по которому она отсортирована.

ЗЫ Я конечно не знаю как в тз. В тз у каждой строки есть номер. Скорее всего номер строки и есть ее праймари кей, главный индекс тз.
10 AneJIbcuH
 
22.03.18
11:48
(7) Ну так более понятно. Поверю на слово ))