Форум Кладовочки АЛьФ`а

Обсуждение проектов => Дружественные проекты => Тема начата: Andrewalexk от 23 октября 2026, 12:42

Название: 1с++ Индексированная таблица скорость индексации
Отправлено: Andrewalexk от 23 октября 2026, 12:42
:)
всем привет
наткнулся на странный имхо тайминг зависимости минут/строк таблицы
1. файловая версия 1с77 (win10)
6193
12:23:36+индекс
12:24:05=индекс
50561
12:26:02+индекс
12:30:09=индекс
102855
12:32:33+индекс
12:40:47=индекс
2. терминальная версия 1с77 (microsoft rdp)
6196
12:33:37+индекс
12:33:40=индекс
50562
12:34:55+индекс
12:35:25=индекс
331186
12:37:08+индекс
12:40:43=индекс
это нормально?
Название: Re: 1с++ Индексированная таблица скорость индексации
Отправлено: Ветер в поле от 23 октября 2026, 22:28
Судя по всему вы используете индекс по справочникам без сортировки с указанием *, поэтому сортировка у вас не по внутренним идентификаторам, а по представлению. Если нет необходимости в сортировке по представлению, то лучше отказаться от использования "Контрагент", а писать "*Контрагент". Если же нужна сортировка, то желательно в таблицу еще при ее формировании добавлять поле для сортировки, чтобы при индексировании не приходилось постоянно лезть в базу за представлением.
Сами цифры абсолютно нормальные и говорят, что эффективность индексирования высокая и имеет линейную зависимость от количества строк. Если индекс строится по атомарным значениям (строки, числа, внутреннее представление объектов), то скорость должна быть примерно на порядок выше. Простой индекс на сотнях тысяч строк строится считанные секунды.

Немного поэкспериментировал и получились вот такие цифры:

Индекс * по 6000 строкам = 0.002 с.
Индекс без * по 6000 строкам = 0.528 с.
Индекс * по 50000 строкам = 0.024 с.
Индекс без * по 50000 строкам = 10.205 с.
Индекс * по 100000 строкам = 0.052 с.
Индекс без * по 100000 строкам = 24.49 с.
Название: Re: 1с++ Индексированная таблица скорость индексации
Отправлено: Харлампий Дымба от 24 октября 2026, 01:47
Если же вопрос про разницу в скорости между файловым и терминальным режимом работы, то это вроде как общеизвестный факт. Сброс локального кэширования в файловой версии даёт сильное падение. SMB1 (во времена которой 7.7 писалась) под Win10 отключили (из-за всяких WannaCry), а современный SMB3 оптимизирован под передачу больших файлов, в то время как 7.7 делает кучу мелких сетевых запросов - и получаются ещё большие торомоза.
На файловой - только ларьки на 1-2 компьютера. Всё остальное - в терминале, при необходимости - ещё и в SQL.