Страница 1 из 1

int значения

Добавлено: 2009-04-24 12:09:24
ProFTP
может глупый вопрос

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

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

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

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

Re: int значения

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

Re: int значения

Добавлено: 2009-04-24 13:09:18
ProFTP
примерно так сделаю

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

bla tinyint(1) default NULL, 

Re: int значения

Добавлено: 2009-04-24 13:14:15
zg
ProFTP писал(а):default NULL
а это то тебе нафига?

Re: int значения

Добавлено: 2009-04-24 13:20:09
ProFTP
ну я хотел спросить или '0' оставить, или пустое место '' оствить?

(ЗЫ: зачем писать '0' если пустое метсо это и есть 0)

Re: int значения

Добавлено: 2009-04-24 13:22:13
zg
ноль (0)

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

Re: int значения

Добавлено: 2009-04-24 13:24:48
ProFTP
ок, спасибо, тогда оставлю как есть... (чтобы ерундой не заниматся)

Re: int значения

Добавлено: 2009-04-30 6:09:58
ProFTP
нашел

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

все равно но лучше NULL :smile: а вообще пофиг

Re: int значения

Добавлено: 2009-04-30 13:12:35
zg
ProFTP писал(а):все равно но лучше NULL
эм.. нулл не должен нести смысловой нагрузки, поскольку он не участвует в индексах

Re: int значения

Добавлено: 2009-05-12 22:30:04
MAK
zg писал(а):Булевый тип в мусе заменён однобайтовым целым
Во всех известных мне языках программирования, тип булеан имеет размер одни байт. Благо я их знаю не много. )

Re: int значения

Добавлено: 2009-05-12 23:00:01
zg
MAK писал(а):Во всех известных мне языках программирования, тип булеан имеет размер одни байт
и? ты не знаешь разницы между целым типом и булевым? суть не в количестве байтов, а в типе данных.

Re: int значения

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

Re: int значения

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

Re: int значения

Добавлено: 2009-05-13 10:03:34
MAK
вобщем суть в песок )

Re: int значения

Добавлено: 2009-07-29 10:21:06
ProFTP
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 все время идут зппросы подсчета )