Имя: Пароль:
1C
1С v8
Переменная / фиксированная длина
0 zak555
 
03.09.11
22:26
доброе время суток

в 8ке у типа данных строка есть такое понятие, как допустимая длина. Она может быть : переменной или фиксированной.

стал проверять
есть константа НаименованиеКомпании, строка, длиной 50

забил туда : Компания !1С:Франчайзи!
СртДлина("Компания !1С:Франчайзи!") = 23

если ставлю допустимую длину, как переменную, то
СтрДлина(Константы.НаименованиеКомпании.Получить()) = 23

если фиксированную
СтрДлина(Константы.НаименованиеКомпании.Получить()) = 50



Вопрос : в БД поле это сколько будет и чем собственно разница?
1 zak555
 
03.09.11
23:14
2 zak555
 
03.09.11
23:17
только там про SQL и то мало
3 zak555
 
04.09.11
02:00
ы
4 дущ
 
04.09.11
02:05
(0) разница в том, что при работе со строками фиксированной длины платформа всегда добивает эти реквизиты пробелами до установленной длины, при переменной такого не происходит. Оба поля будут иметь одинаковый размер записи в информационной базе. 100 байт по-моему. Т.е. разница только в отображении этих полей.
5 Domovoi
 
04.09.11
14:22
В запросе вроде нельзя будет использовать не фиксированной длины, но могу ошибаться.
6 Necessitudo
 
04.09.11
23:14
(5) Можно- но связей по ним не построишь. Придется прям в запросе через ВЫРАЗИТЬ делать из них нормальные значения.
7 zak555
 
05.09.11
10:30
(5) (6) только это ?
8 ZanderZ
 
05.09.11
10:37
(0) в БД поле неограниченной длины имеет тип ntext
http://msdn.microsoft.com/ru-ru/library/ms187993(v=SQL.105).aspx
,а ограниченной типа nvarchar
9 Ненавижу 1С
 
гуру
05.09.11
10:50
(5) бред

разница между типами VARCHAR и CHAR  в стандарте SQL
но их же тупые 1С-ники не читают
10 zak555
 
05.09.11
10:53
(9) в принципе это существенно для sql только ?
11 Ненавижу 1С
 
гуру
05.09.11
10:54
(10) я думаю в файловой версии 1с реализовано аналогично
12 zak555
 
05.09.11
10:56
(11)

Данные типа CHAR, которые имеют фиксированную длину, быстрее всего сохраняют и достают информацию но могут потреблять излишнее дисковое пространство.

VARCHAR, строка изменяющейся длины, работает медленнее чем CHAR но не потребляют излишнее дисковое пространство.


так ?
13 Ненавижу 1С
 
гуру
05.09.11
10:57
(12) в общем да
14 zak555
 
05.09.11
11:01
(13) так в (0) для переменной длины каков размер для поля хранения константы НаименованиеКомпании 23 или 50 ?
15 Ненавижу 1С
 
гуру
05.09.11
11:08
(14) если стоит "постоянная", то константа МОЖЕТ хранить строки длиной 50 и хранит ТОЛЬКО их
если переменная, то МОЖЕТ хранить строки длиной ДО 50 символов  включительно
16 zak555
 
05.09.11
11:12
(15) это я понял
фактические длина поля сколько будет ?
в (12) сказано про "дисковое пространство" вот я и думаю, что поле как-то "расширяется" ?

понятно, что не для 50 символов, а к примеру для 100/500 и т.д.
17 Ненавижу 1С
 
гуру
05.09.11
11:15
(16) от СУБД зависит
18 zak555
 
05.09.11
11:17
(17) например для sql
19 Ненавижу 1С
 
гуру
05.09.11
11:18
(18) пойди и почитай
20 zak555
 
05.09.11
12:57
(19) где почитать, я бы с радостью
21 Ненавижу 1С
 
гуру
05.09.11
13:01
(20) попробуй поспрашивать тут http://www.sql.ru/forum/actualtopics.aspx?bid=1
22 zak555
 
05.09.11
13:02
(21) так я думал, что миста знает всё =)