Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Что лучше 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.047 c
14-1096282055
Маг Похмеляйнен
2004-09-27 14:47
2004.10.17
Спасите кролика!


14-1096080003
Думкин
2004-09-25 06:40
2004.10.17
С днем рождения! 25 сентября


1-1095883102
Homa_Programer
2004-09-22 23:58
2004.10.17
delphi и Word


1-1096812609
Volodya_
2004-10-03 18:10
2004.10.17
Scroll


14-1096392642
ого-го
2004-09-28 21:30
2004.10.17
Работа с принтером





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский