Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
1-1096538530
Сергей__С
2004-09-30 14:02
2004.10.17
Scroll Lock


8-1082133384
Arsen
2004-04-16 20:36
2004.10.17
Как сделать "растяжение" фигур (как в paint е)?


3-1095329332
1008
2004-09-16 14:08
2004.10.17
Как ускорить вывод данных?


1-1096802636
sdw_syscoder
2004-10-03 15:23
2004.10.17
TListView и TTreeView - виндовс испортил


1-1097039937
qwe
2004-10-06 09:18
2004.10.17
Проблема с установкой EhLib 3.5 Components




   Наверх