int значения

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

int значения

Непрочитанное сообщение ProFTP » 2009-04-24 12:09:24

может глупый вопрос

но как правильно хранить int значения?

я создал таблицы уже, true - '1' ; false - '0'

подумал что надо: true - '1' ; false - '' (пустое)

но перековыривать таблицы не хочется.... как правильно?
(я как раз сейчас оптимизирую код, хочется с точки зрения правильности, это не страшно - забить?)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: int значения

Непрочитанное сообщение zg » 2009-04-24 12:28:24

ProFTP писал(а):но перековыривать таблицы не хочется.... как правильно?
как есть, это самый правильный вариант хранения булевого типа, за тем исключением, что надо юзать UNSIGNED TINYINT
ProFTP писал(а):это не страшно - забить?)
страшно. Булевый тип в мусе заменён однобайтовым целым и надо юзать его, при чём осознанно.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: int значения

Непрочитанное сообщение ProFTP » 2009-04-24 13:09:18

примерно так сделаю

Код: Выделить всё

bla tinyint(1) default NULL, 
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: int значения

Непрочитанное сообщение zg » 2009-04-24 13:14:15

ProFTP писал(а):default NULL
а это то тебе нафига?

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: int значения

Непрочитанное сообщение ProFTP » 2009-04-24 13:20:09

ну я хотел спросить или '0' оставить, или пустое место '' оствить?

(ЗЫ: зачем писать '0' если пустое метсо это и есть 0)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: int значения

Непрочитанное сообщение zg » 2009-04-24 13:22:13

ноль (0)

NULL это хитрое значение, его лучше не использовать без надобности.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: int значения

Непрочитанное сообщение ProFTP » 2009-04-24 13:24:48

ок, спасибо, тогда оставлю как есть... (чтобы ерундой не заниматся)
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: int значения

Непрочитанное сообщение ProFTP » 2009-04-30 6:09:58

нашел

NULL - 1 бит
'0' - 8-9 бит

все равно но лучше NULL :smile: а вообще пофиг
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: int значения

Непрочитанное сообщение zg » 2009-04-30 13:12:35

ProFTP писал(а):все равно но лучше NULL
эм.. нулл не должен нести смысловой нагрузки, поскольку он не участвует в индексах

MAK
ст. сержант
Сообщения: 344
Зарегистрирован: 2008-09-17 2:23:21

Re: int значения

Непрочитанное сообщение MAK » 2009-05-12 22:30:04

zg писал(а):Булевый тип в мусе заменён однобайтовым целым
Во всех известных мне языках программирования, тип булеан имеет размер одни байт. Благо я их знаю не много. )

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: int значения

Непрочитанное сообщение zg » 2009-05-12 23:00:01

MAK писал(а):Во всех известных мне языках программирования, тип булеан имеет размер одни байт
и? ты не знаешь разницы между целым типом и булевым? суть не в количестве байтов, а в типе данных.

MAK
ст. сержант
Сообщения: 344
Зарегистрирован: 2008-09-17 2:23:21

Re: int значения

Непрочитанное сообщение MAK » 2009-05-12 23:30:00

zg писал(а):и? ты не знаешь разницы между целым типом и булевым? суть не в количестве байтов, а в типе данных.
Суть в том, что тип булеан - просто абстракция, очень просто заменяемая самым легким целым.

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: int значения

Непрочитанное сообщение zg » 2009-05-13 9:59:24

MAK писал(а):Суть в том, что тип булеан - просто абстракция
суть в том, что тип есть тип. Вопрос внутренней реализации каждый решает сам. В MySQL нет булева типа, в пхп есть.

MAK
ст. сержант
Сообщения: 344
Зарегистрирован: 2008-09-17 2:23:21

Re: int значения

Непрочитанное сообщение MAK » 2009-05-13 10:03:34

вобщем суть в песок )

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: int значения

Непрочитанное сообщение ProFTP » 2009-07-29 10:21:06

zg писал(а): эм.. нулл не должен нести смысловой нагрузки, поскольку он не участвует в индексах
я как раз это имелл виду, что лучше поставить 1 и NULL (то есть 1 или 0)

говорят (точно не знаю) что с точки зрения архитектуры БД, самой структуры так не надо писать, а сделать еще одну таблицу:

id, name,
1 dfdfd

id, active
1, 1

NULL или 0 - нету, а сделать внутриний запрос LEFT JOIN AS t2 t1.id = t2.id ON t2.active = IS NOT NULL поставить, или типо как-то так, говорят что оно быстрее будет, если таблицы большие

===================

я вот посмотрел струкутуру одного форума, там все время count подсчеты автоматически в логике прогарммы считаються, то есть там нету, например, того чтобы подсчитать все время темы данного раздела (а в phpbb2,3 все время идут зппросы подсчета )
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение