Главная страница
    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.037 c
1-1096716248
roma
2004-10-02 15:24
2004.10.17
Install component


6-1091731228
redlord
2004-08-05 22:40
2004.10.17
tserversocket tclientsocket for delphi 7


14-1096456548
BAYES
2004-09-29 15:15
2004.10.17
Что могло срубить дельфи?


1-1096440862
Islander
2004-09-29 10:54
2004.10.17
Как запустить приложение свернутым?


8-1090408912
asat
2004-07-21 15:21
2004.10.17
{BMP} -> AVI





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский