![]() |
![]() |
|
Ссылка vs строки | ☑ | ||
---|---|---|---|---|
0
Parti
20.04.10
✎
23:26
|
подскажите, спецы - Какой РС будет больше "нагружать" базу(т.е. увеличивать размер файла .CD)- тот, у которого тип единственного реквизита - Строка, и в ней хранится Наименование документа или тот, реквизит которого ДокументСсылка и хранится в ней ссылка на документ ?
При том, что количество записей в обоих регистрах одинаково. Или это не принципиально? |
|||
1
Лефмихалыч
20.04.10
✎
23:29
|
совалку приделать забыла
|
|||
2
Parti
20.04.10
✎
23:31
|
(1) в БД что хранится вместо ссылки? Уникальный идентификатор?
|
|||
3
Parti
21.04.10
✎
09:57
|
провел сейчас простой тест:
Создал 2 базы, в обоих по одинаковому документу, по одному РС(непериодич, независим). Регистр Сведений ссылочной базы(База1): Измерения: Измерение1(ДокументСсылка) НомерЗаписи(Число) Регистр Сведений строковой базы(База1): Измерения: Измерение1(Строка) НомерЗаписи(Число) В каждой базе повесил кнопку на документ: Ссылочная база(База1): Процедура тестНажатие(Элемент) Счетчик = 10000; Пока Счетчик<>1 Цикл НаборЗаписей = РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.НомерЗаписи.Установить(Счетчик); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Измерение1 = Ссылка;//ОТЛИЧИЕ НоваяЗапись.номерЗаписи = Счетчик; НаборЗаписей.Записать(); Счетчик = Счетчик-1; КонецЦикла; КонецПроцедуры Строковая база(База2): Процедура тестНажатие(Элемент) Счетчик = 10000; Пока Счетчик<>1 Цикл НаборЗаписей = РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.НомерЗаписи.Установить(Счетчик); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Измерение1 = Ссылка.Номер;//ОТЛИЧИЕ НоваяЗапись.номерЗаписи = Счетчик; НаборЗаписей.Записать(); Счетчик = Счетчик-1; КонецЦикла; КонецПроцедуры Итог: Размер файла Базы1(ссылочной) = 1,21 Мб Размер файла Базы2(Строковой) = 2,05 Мб |
|||
4
Ненавижу 1С
гуру
21.04.10
✎
09:59
|
ссылка "правильней", хотя по размеру UUID может превышать номер документа, к тому же номер вообще говоря может оказаться не уникальным
|
|||
5
Sammo
21.04.10
✎
10:17
|
1. Как предполагается использовать РС
2. Наименование документа - что под этим подразумевается 3. Возможность составных типов в РС 4. Если строка - то какой длины |
|||
6
fisher
21.04.10
✎
10:22
|
(0) Если строка - фиксированного небольшого размера, то нагружать она будет меньше чем ссылка на документ. В твоем случае - вряд ли меньше. Но даже если бы и меньше - это ни разу не аргумент использовать её вместо ссылки. Более того - грубая идеологическая ошибка за которую в шею гнать из прикладных программистов.
|
|||
7
Maxus43
21.04.10
✎
10:22
|
Вот везде (в типовых и не только) используют Ссылки (что и правильней и надёжней), дак вот нет, надо извратится и заниматься ерундой... имхо
|
|||
8
Aleksey_3
21.04.10
✎
10:26
|
(7) Бывает так быстрее. Например я в 7-ке заменял 3 измерения регистра на одно (строка - 3 символа)
|
|||
9
fisher
21.04.10
✎
10:31
|
(8) Это даже не знаю, насколько специфический случай должен быть, чтобы имело смысл так сделать. Тем более что в 8-ке нормальные запросы и необходимость в избыточных измерениях практически отпала. В подавляющем большинстве случаев подобные "перлы" приходилось с матами за другими разгребать.
При таком варианте как у тебя: 1) ссылочная целостность - в топку 2) возможность человеческого извлечения дополнительных данных соединением таблиц в запросе - в топку. |
|||
10
ASU_Diamond
21.04.10
✎
10:31
|
интересно что делать со строкой в регистре, после удаления документа из системы...
|
|||
11
Ненавижу 1С
гуру
21.04.10
✎
10:32
|
+(10) а лучше изменения номера
|
|||
12
ASU_Diamond
21.04.10
✎
10:34
|
кстати, если исходить из "нагружать систему" - то это не столько вес базы, сколько расчеты. Поиск по вхождению в строку не сравним с поиском ссылки.
|
|||
13
Aleksey_3
21.04.10
✎
10:40
|
(9) Регистр Прайс. Измерения Фирма, Склад, Тип цен (по каждому складу и каждой фирмы разные цены). Поэтому
1. Ссылочная целостность тут не критично, так как движения делается документам и ссылки есть в документах 2. Данные получаются по установленным всем трем измерениям, так как само понятие к примеру, цена по всем складам не имеет смысла. |
|||
14
fisher
21.04.10
✎
10:55
|
(13) Хороший пример того, насколько узкой должна быть задача, чтобы подобное решение было приемлемо.
|
|||
15
fisher
21.04.10
✎
10:56
|
(14) + Даже не уверен, что при такой постановке вообще нужен регистр.
|
|||
16
Serg_1960
21.04.10
✎
11:09
|
(14) +1 тонкое замечание, дипломатичное :) А грубо говоря: если вместо ссылки используется "представление" - то таких регистров и прогов - в топку :(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |