Форум: "Базы";
Текущий архив: 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.034 c