Индексы для полей NULL

Screjet

Новичок
Индексы для полей NULL

Вобщем-то в мускуле можно создавать индексы для полей по умолчанию NULL.

Вот только потом EXPLAIN упорно говорит, что индексы ни коим образом не использует, если копнуть глубже, то обнаруживается, что мускул вообще не создает индексы для NULL полей при вставке.

После OPTIMIZE появляются индексы где значения полей not NULL.

Версия 4.0.12

Как вообще рассматривать концепцию с полями типа NULL по умолчанию? Как в старину, если поле нужно индексировать, то стразу обозначать NOT NULL ?

Как по мне, то логично, что если полю не присвоено значение, то оно должно быть NULL.

Это проблема исключительно мускула или такова концепция для полей по умолчанию NULL ?

Дайте добрый совет!
 

ForJest

- свежая кровь
Как по мне, то логично, что если полю не присвоено значение, то оно должно быть NULL.
А как по мне - так их вообще не должно быть этих NULL. И использовать IS NULL для LEFT JOIN и всё.
 
Сверху