Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

что лучше юзать char или varchar?   Найти похожие ветки 

 
b0bi   (2004-01-23 13:26) [0]

решаю, какой тип в поле Name у справочников юзать char или varchar........
есть мнение что varchar немного тормозит, из этих соображений предлагается юзать char (т.к. база предполагается нехилая, процессорные ресурсы нужно экономить, или лучше экономить память, незнаю)
что посоветуете вы?


 
Johnmen ©   (2004-01-23 13:27) [1]

varchar


 
Desdechado ©   (2004-01-23 13:54) [2]

чье мнение, чем обосновано?


 
stone ©   (2004-01-23 13:58) [3]


> что посоветуете вы?

Внимательно почитать Data Types в BOL


 
b0bi   (2004-02-24 15:56) [4]

>> Johnmen
>> Desdechado
т.е. вы утверждаете что varchar ни чуть не тормознее чем char? а если проверить?


 
Johnmen ©   (2004-02-24 15:57) [5]

>b0bi

Проверь...:)


 
sniknik ©   (2004-02-24 16:02) [6]

b0bi   (24.02.04 15:56) [4]
а ты и проверь, кстати откуда видно что он это утверждает? вопрос что лутше, причем неконкретный (в этом случае неплохо бы анализ предполагаемых данных размер, однородность (по тому же размеру), наличие и частота незаполненных)
а так на основании того что "база предполагается нехилая" можно только личные предпочтения высказать.


 
b0bi   (2004-02-24 16:18) [7]

спасибо за сотрудничество............. проверил занятость процессора, один фиг разницы никакой, буду варчар юзать  :))


 
Anatoly Podgoretsky ©   (2004-02-24 16:24) [8]

b0bi   (23.01.04 13:26)  
Наоборот char больше будет тормозить, при том дважды - при формировании и при передаче.


 
sniknik ©   (2004-02-24 16:35) [9]

Anatoly Podgoretsky ©   (24.02.04 16:24) [8]
не всегда,

вот для примера из базы (изначально 1С-совская база) есть поле с данными
(несколько первых)  2JO,  2JP,  2JR,  2JS, ..... (это число сек. в 30ричной системе)
важно: всегда 3 символа, без пропусков (null не бывает никогда)

ясно что для этого поля char(3) гораздо предпочтительнее чем varchar(3).
конечно у него такого не будет (судя по названию "Name", там будут и пропуски и строки всегда меньше чем обьявленые).


 
Anatoly Podgoretsky ©   (2004-02-24 16:42) [10]

sniknik ©   (24.02.04 16:35) [9]
Первое возможно не всегда, зависит от сервера (как имено в данному не знаю, но в ИБ оба типа хранятся одинаково и дополнение пробюелами делается на этапе извлечения), но второе всегда, char подразумевает передачу с дополнением пробелами справа до длины поля, а var char так как есть поэтому различный объем при передаче, кроме конечно особых случаев.


 
sniknik ©   (2004-02-24 17:00) [11]

> char подразумевает передачу с дополнением пробелами справа до длины поля
именно это и имел в виду говоря что символов всегда 3, в этом случае это не действует.

насчет хранения, вроде бы access и mssql хранит по разному (в случае с var еще + 4байта на указатель) могу ошибатся (не помню где это читал, но счас сам попробую 2 варианта сохранить, посмотрю)


 
Anatoly Podgoretsky ©   (2004-02-24 17:11) [12]

У ИБ за исключением, когда длина поля 4, хранится ссылка и при том это одинаково для обеих типов и оба хранятся без концевых пробелов. При выборке char дополняется пробелами. Как у access и mssql не знаю, но тоже думаю что по крайней мере второй оптимизируют хранение.


 
sniknik ©   (2004-02-24 17:16) [13]

> но счас сам попробую 2 варианта сохранить, посмотрю
если не ставить "сжатие юникод" (в access) разница в размере баз есть, если поставить то размеры баз (с разными типами, и одинаковым количеством данных) одинаковы. вывод: тоже похоже одинаково хранит.



Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.025 c
3-1077184074
maratvg
2004-02-19 12:47
2004.03.28
Компоненты для работы с клиент-серверными базами данных


3-1077174058
mvg_first
2004-02-19 10:00
2004.03.28
Кодировка dBase при использовании ADO +Jet 4.0


1-1078467939
TUser
2004-03-05 09:25
2004.03.28
TrackBar


1-1078647906
GrayFace
2004-03-07 11:25
2004.03.28
Объект (и компонент) в компоненте не редактирует Object Inspector


1-1078499619
raul
2004-03-05 18:13
2004.03.28
создание контекстной справки