Я проектирую систему, она будет очень большой, по размеру данных. Так чтоб не сделать косяков сразу, я и обращаюсь за советом.
1. Надо ли делать поля NULL для значений, которые могут быть не заполнены (например номер телефона в таблице, которые не обязательный) почему то советуют обычно использование NOT NULL хотя непонятно зачем, если NULL меньше по размеру чем 0
2. Использование varchar(100) для username, password, email. Иногда используют char, якобы быстрей работает, хотя и используется редко.
К тому же верно ли, что если слово из 10 букв лежит в ячейке varchar(10) или varchar(200) то размер базы одинаков до одного байта?
Спустя 12 минут, 4 секунды (31.05.2011 - 15:37) linker написал(а):
1. Используй NULL, если на это есть логическая причина.
2. char занимает больше места
3. Скажем так, строка из 10 букв для varchar(10) и varchar(200) будет занимать одинаковый объём.
2. char занимает больше места
3. Скажем так, строка из 10 букв для varchar(10) и varchar(200) будет занимать одинаковый объём.
Спустя 3 минуты, 59 секунд (31.05.2011 - 15:41) maximka787 написал(а):
Цитата (linker @ 31.05.2011 - 12:37) |
1. Используй NULL, если на это есть логическая причина. |
Да, я думаю есть, причина в том, чтоб вообще не занимать ни капли лишнего места, если поле пустое, а тк 0 больше чем NULL то логичней получается

Спустя 6 минут, 46 секунд (31.05.2011 - 15:48) linker написал(а):
Сие справедливо только для BIGINT или DOUBLE, в остальных случаях NULL и 0 занимают одинаковый объём. Ессесно зависит от того, какого типа будет поле с NULL.
Спустя 10 минут, 36 секунд (31.05.2011 - 15:58) maximka787 написал(а):
Цитата (linker @ 31.05.2011 - 12:48) |
Ессесно зависит от того, какого типа будет поле с NULL. |
varchar и int
Спустя 2 минуты, 34 секунды (31.05.2011 - 16:01) linker написал(а):
Для строки, что NULL, что "пусто" не имеет значения.
_____________
..Работает - не трогай!