Имя: Пароль:
1C
1С v8
Длина строки в 8.2
,
0 roman2
 
24.07.13
10:26
Всем привет.
Столкнулся с вопросом. Как влияет длина строки на хранение данных и на работу в запросах с текстовым полем.
Например поле Комментарий. Стандартно использует 1С 90 символов.
При этом поле допустимая длина доступно. Как ставим длину 101, поле закрыто для редактирования. Почему?
Буду благодарен на ссылку где можно об этом почитать или на прямой ответ.
1 Ненавижу 1С
 
гуру
24.07.13
10:28
Стандартно вроде бы неограниченная длина
2 maksim358
 
24.07.13
10:28
вообще рекомендуется для быстроты работы не раздувать без надобности длину текстовых полей.
3 roman2
 
24.07.13
10:30
есть ли разница, ставим 100, 200, 300 символов?
4 Капитан О
 
24.07.13
10:30
автор нашёл что-то нетрадиционное
5 Ненавижу 1С
 
гуру
24.07.13
10:31
(3) есть конечно
6 Лефмихалыч
 
модератор
24.07.13
10:31
(0) ну, вот так разработчики платформы решили, что фиксированная строка не может быть длиннее 100 символов. Живи с этим.
Да и на кой ляд нужна такая огромная фиксированная строка, я лично придумать не могу
7 H A D G E H O G s
 
24.07.13
10:40
(0) Чтобы база не пухла.
8 Maxus43
 
24.07.13
10:47
>>Стандартно использует 1С 90 символов
откуда дровишки?
9 Ork
 
24.07.13
10:51
(7) Это такой юмор? Оградить базу от попадания в нее данных?
10 oleg_km
 
24.07.13
10:58
(6) фиксированная или переменная?
11 H A D G E H O G s
 
24.07.13
10:58
(9) Убей себя ап стену.
12 H A D G E H O G s
 
24.07.13
11:01
Фиксированная строка будет фигачить 200 байт на каждую 100 символьную ячейку строки. Наполненных пробелом и несжатых.

Если нужны большие строки - вот вам nvarchar, который по длине =ЧислоСимволов*2+1

Если нужно быстродействие - вот вам фиксированная, которая тут же в табличке лежит.
13 1Сергей
 
24.07.13
11:02
(12) + т.е. фиксированная будет жрать место, даже если пуста
14 Ненавижу 1С
 
гуру
24.07.13
11:04
(13) жрать место будет все, ибо на varchar проще выделить фиксированное место, чем заниматься подсчетом сдвигов

хотя от СУБД конечно зависит
15 H A D G E H O G s
 
24.07.13
11:05
(14) ms sql выделяет место, или тупо пишет в конец с нуля?
2 + 2 = 3.9999999999999999999999999999999...