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

Вниз

Что лучше VARCHAR(1) или INTEGER???   Найти похожие ветки 

 
Sirus   (2004-09-16 08:23) [0]

Привет Мастера...
Есть запрос:
select * from HST_DTR
where CH_CODE=<Значение>
В каком случае запрос будет выполняться быстрее:
если тип CH_CODE будет VARCHAR(1) или INTEGER???
Поле может принимать только четыре значения:
(без изменений, новая запись, измененная запись, удаленная запись)


 
Zacho ©   (2004-09-16 08:25) [1]

INTEGER


 
Rule ©   (2004-09-16 08:53) [2]

без вопросов smallint


 
Zacho ©   (2004-09-16 09:09) [3]

Всё-таки INTEGER, т.к. он 32-х разрядный. См. например http://www.ibase.ru/devinfo/test1.htm


 
Rule ©   (2004-09-16 09:14) [4]

4. для хранения булевских значений integer подходит намного лучше char(1). Можно воспользоваться и smallint.

тоесть в принциепе не критично, smallint по размерам в 2 раза меньше, тоесть по сабжу то получается действительно Integer  а если ещё добавить фактор экономии места то наверное всетаки SmallInt


 
KSergey ©   (2004-09-16 09:15) [5]

> VARCHAR(1)

Это что за извращение? А просто CHAR(1) - уже не модно?
Впрочем, вероятно [3] Zacho прав (по скорости), хотя места база будет занимать больше.


 
Zacho ©   (2004-09-16 09:16) [6]

Rule ©   (16.09.04 9:14) [4]
Да, но при этом:

3. Скорость обработки integer и smallint выше чем char(1), и integer обрабатывается быстрее smallint.


 
Rule ©   (2004-09-16 09:24) [7]

Zacho ©   (16.09.04 9:16) [6]
согласен согласен, по скорости но не по объему:
Integer занимает 4 байта, smallint соответственно 2.
так что объем в 2 раза иногда играет толь, а по скорости не на много и мделеннее, так что все зависит как всегда от ситуации и выбор за разработчиком (проектировщиком), с него и спрос ;)


 
Sergey13 ©   (2004-09-16 09:50) [8]

2Sirus   (16.09.04 08:23)
Будет разница, не будет разницы...
Подозреваю, что ты этого не заметишь. По крайней мере невооруженным глазом. 8-)


 
Val ©   (2004-09-16 10:23) [9]

>[8] Sergey13 ©   (16.09.04 09:50)
Зависит от обстоятельств :)


 
Sergey13 ©   (2004-09-16 10:26) [10]

2[9] Val ©   (16.09.04 10:23)
Естественно. От них все всегда зависит. 8-)


 
Danilka ©   (2004-09-16 10:59) [11]

[5] KSergey ©   (16.09.04 09:15)
[7] Rule ©   (16.09.04 09:24)
> объем в 2 раза иногда играет толь

Угу. Только, если в этой базе находятся другие таблицы, плюс в этой таблице есть еще и другие поля, то эти самые 2 байта/запись скажутся на размере самой базы долями процента. Как правило. :))


 
Rule ©   (2004-09-17 09:19) [12]

Danilka ©   (16.09.04 10:59) [11]
только как отмечалось
Val ©   (16.09.04 10:23) [9]
Зависит от обстоятельств :)

:)


 
Роман Снегирев   (2004-09-17 11:18) [13]

да по барабану (лучше конечно smallint), ты главное индекс по этому полю сделать не забудь


 
Sergey13 ©   (2004-09-17 11:21) [14]

2[13] Роман Снегирев   (17.09.04 11:18)
>ты главное индекс по этому полю сделать не забудь
Если сделать по одному этому полю, то проку скорее всего не будет. Ибо
>Поле может принимать только четыре значения:
Т.е. селективность будет маленькая.



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
14-1096546298
Zlod3y
2004-09-30 16:11
2004.10.17
Скачать последнюю версию BDE


3-1095753292
Blondin
2004-09-21 11:54
2004.10.17
unsuccessful metadata updateobject. Помогите разобраться


1-1096876425
Vir
2004-10-04 11:53
2004.10.17
SelectDirectory


14-1096269319
peypivo
2004-09-27 11:15
2004.10.17
Похмелье


1-1096572965
jack128
2004-09-30 23:36
2004.10.17
формат dfm (текстовой)