SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.05.2011 17:51:39

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

0 vs NULL

Наконец-то дошли руки до оптимизации структуры таблиц БД. В текущей структуре используются как 0, так и NULL, хотелось бы всё же сделать правильно, если в данном контексте имеется подобное понятие smile

Собственно моё мнение такое, что если нам неизвестно значение, то мы пишем NULL, а не пустую строчку (если это действительно отсутствие значения) или 0. Так же NULL имеет свои преимущества (или недостатки, кому как smile) при использовании ORDER BY, функции подсчётов (COUNT/MIN/MAX и т.п.), а также при наличии уникального ключа.

Возникает вопрос, что же предпочтительнее использовать? Кроме как работы с уникальным ключом, лично я не вижу принципиальных различий в работе между 0 и NULL. В моём случае задача простая - хранить целочисленное значение внешнего ключа.


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#2 25.05.2011 16:47:02

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: 0 vs NULL

Если разницы между 0 и NULL не видно, то лучше использовать 0 и колонки
NOT NULL — будет быстрее работать smile

NULL нужно использовать тогда, когда для этого есть смысл (например, 0
и «не известно» — разные по смыслу значения).

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson