Имя: Пароль:
1C
1С v8
Строковый реквизит - что лучше?
🠗 (Волшебник 26.09.2017 12:33)
0 Минона
 
26.09.17
12:30
Создаём поле "комментарий", тип - строка.
Предполагается, что либо не будут заполнять поле, либо не более 100 символов.

Как правильней создать такой реквизит у документа?

1) Неограниченной длины, чтобы он создавался в отдельной таблице? Сэкономим на пустых каментах, но на существующих всегда будет запись в 250 символов.
2) Поставить длину 100 символов? Будет храниться в таблице дока, но занимать всегда место у пустых (100).

Посоветуйте.
1 1dvd
 
26.09.17
12:31
вот вам заняться нечем...
2 FIXXXL
 
26.09.17
12:32
100, длина переменная
3 Мимохожий Однако
 
26.09.17
12:32
(0) какие критерии "правильности"?
4 H A D G E H O G s
 
26.09.17
12:33
(0) Пикачу, я выбираю тебя!

Вариант №3 - учить, как хранятся данные в SQL
5 Минона
 
26.09.17
12:44
(4) так именно со стороны SQL и возник вопрос
В зависимости от того как укажем - будут храниться по разному!
А какой вариант лучше - нужен совет
6 Минона
 
26.09.17
12:45
(3) Минимальная нагрузка на SQL, скорость и экономия места
7 Минона
 
26.09.17
12:46
(2) Почему именно так?
По сути создастся поле в таблице документа на 100 байт, верно?
8 Минона
 
26.09.17
13:42
Мда, видимо спецов по SQL нету
9 h-sp
 
26.09.17
14:09
(7) смысл-то какой? сэкономить 10 мегабайт на диске? Купите диск себе на пару террабайт и не парьтесь?
10 Минона
 
26.09.17
14:26
(9) смысл - выработать определённое решение для дальнейшей работы с разными документами и применять его в разработке
11 H A D G E H O G s
 
26.09.17
15:57
Строка неограниченной длины: ntext
https://msdn.microsoft.com/ru-ru/library/ms186939(v%3Dsql.120).aspx
В таблице хранится 16 байт ссылки на область в потоке данных. В потоке данных размер занимаемого места = ЧислоСимволовВведенныхПользователем*2

Строка переменной длины: nvarchar
https://msdn.microsoft.com/ru-ru/library/ms186939(v%3Dsql.120).aspx
В таблице хранится 8 байт ссылки на область в потоке данных. В потоке данных размер занимаемого места = ЧислоСимволовВведенныхПользователем*2+2

Строка постоянной длины: nchar
https://msdn.microsoft.com/ru-ru/library/ms186939(v%3Dsql.120).aspx
В таблице хранятся данные. Размер данных = ДлинаСтрокиЗаданнаяВКонфигураторе*2. Если введено данных меньше заданных - строка добивается пробелами до конца.
12 Минона
 
26.09.17
16:11
(11) что есть "поток данных" применительно к SQL версии базы 1С ?
блоки по 256 байт (по сути 250 байт) - так?
т.е. оптимально хранение кратно 125 символам?
13 Минона
 
26.09.17
16:12
тогда как постоянная длина - хранится в таблице дока и занимает указанный объём (не менее, но и не более)
14 H A D G E H O G s
 
26.09.17
16:17
(12) (13) Я никогда в своей жизни не буду заморачиваться, как там эти сырые данные хранятся. Просто мне это никуда не впилось, есть места, оптимизация которых даст выигрыш на несколько порядков.
15 Минона
 
26.09.17
16:57
(14) чёто у вас советы с делом расходятся
То кричите "Вариант №3 - учить, как хранятся данные в SQL",
то вдруг " не буду заморачиваться, как там эти сырые данные хранятся"
Вы уж определитесь - то ли пальцы гнуть, гнобя всех подряд понтами про SQL, то ли крестик пора снять.

Хотя в принципе как думали, так оно и есть.
Вопрос закрыт, ибо всем пох.