Имя: Пароль:
1C
 
Скорость справочник или регистр сведений
0 pumba055
 
30.12.19
14:11
Коллеги, добрый день!
У меня две одинаковые таблички с одинаковыми данными, одна из них справочник, другая регистр сведений.
Чего будет работать быстрее, есть ли разница в скорости и если есть в чем, за счет чего?
1 ДенисЧ
 
30.12.19
14:12
на двух записях - разницы никакой.
2 ManyakRus
 
30.12.19
14:15
для регистра не нужен нумератор кода и др.
поэтому регистр быстрее
3 Cthulhu
 
30.12.19
14:18
(2): сомнительное утверждение (при отсутствии технологических подробностей).
вопрос в индексах. точнее - в попадании запросов в индексы. причем предположительно (могу ошибаться) кажется, что подобное попадание в индексы вероятнее как раз для справочников.
4 ДенисЧ
 
30.12.19
14:22
(3) Зависит от запросов.
5 Флориан
 
30.12.19
14:24
(0) ИМХО справочник нужно делать когда нужна ссылка, в остальных случаях регистр сведений
6 NcSteel
 
30.12.19
14:26
(0) Все зависит от функциональных требований.
7 Ns33
 
30.12.19
14:28
В РС при добавлении записи идет проверка на уникальность ключа, т.е. тут при записи медленнее.
8 ДенисЧ
 
30.12.19
14:29
(7) А при добвалении в справочник такая проверка не идёт?
9 Ns33
 
30.12.19
14:33
(8) Опс, действительно, уникальность кодов...
10 1Сергей
 
30.12.19
14:49
(5) >>справочник нужно делать когда нужна ссылка

+1
11 astrawalk
 
30.12.19
14:52
(5) Регистр сведений нужно делать, когда требуется составной уникальный ключ. Во всех остальных случаях - справочник.
12 palsergeich
 
30.12.19
14:55
(8) идёт, но поле уникальности в справочнике строго одно
13 H A D G E H O G s
 
30.12.19
14:57
(7) ОбменДанными.Загрузка=Истина избавит вас от этого.
14 pumba055
 
30.12.19
15:25
индексы, запросы - все полностью одинаковое в 2-х табличках. РС пишется дольше из-за проверки уникальности записи, но это не критично. Вопрос скорости записи не стоит, вопрос во всех остальных случаях.
15 Anton R
 
30.12.19
15:26
Из опыта: справочник из 4 млн. записей + подчиненный справочник пришлось переделывать на регистры, т.к. жутко тормозило все, особенно запись. Подробно не разбирался, подозревал какие-то внутренние механизмы обеспечения ссылочной целостности.

P.S. было лет 6 назад, на неуправляемых формах.
16 pumba055
 
30.12.19
15:30
вот-вот как раз вопрос это, про внутренние механизмы)
17 pumba055
 
30.12.19
15:31
в чем отличие, почему так?
18 Anton R
 
30.12.19
15:34
(17) Да кто ж его знает, что они там внутри 1С напрограммировали... Не зря в 7-ке прямые запросы работали на порядок быстрее, чем обычные.
19 Anton R
 
30.12.19
15:35
(17) Думаю, при желании можно взять профайлер и проанализировать SQL запросы к базе
20 pumba055
 
30.12.19
15:39
Можно, но может кто-то что-то где-то читал, интересна теория. Товарищ пишет вставка в справочник дольше, а ведь по теории должно быть ровно наоборот, ведь на регистре сведений навешен составной уникальный индекс, а на справочнике нет....
21 Anton R
 
30.12.19
15:41
(20) Товарищ может и ошибаться, давно это было...
22 Anton R
 
15.02.20
15:13
Провел эксперимент на справочнике и Регистре сведений одинаковой структуры и с одинаковыми значениями.
Количество строк (записей) - 4 млн.
Версия платформы - 8.3.13.1644 64x
PostgreSQL 9.6

Результат:

Поиск значения запросом: одинаково.
Перемещение по списку: Справочник ++
23 Anton R
 
15.02.20
15:15
Результат:

Поиск значения запросом: одинаково.
Перемещение по списку: Справочник ++
Запись нового элемента/записи: Справочник ++
Фильтр в списке по колонке: одинаково
Поиск в списке глобальным поиском: Справочник ++++++++
24 Anton R
 
15.02.20
15:18
Перед этим имел жаркую дискуссию с несколькими программистами, которые убеждали меня, что при миллионе записей справочник зависнет наглухо и 1С взорвется. Поэтому ими пользоваться нельзя, только регистрами.
Их так учили на курсах...
25 Anton R
 
15.02.20
15:24
Забыл добавить: один из реквизитов - ХранилищеЗначения с большим объемом данных.
Список на форме тот, который формируется автоматически, свой не создавал.