mysql - Conception de base de données (conception de schémas), NULL doit-il être évité autant que possible?
仅有的幸福
仅有的幸福 2017-05-18 10:54:25
0
2
716

Phénomène réel

Appris :

  1. La sémantique NULL n'est pas claire

  2. La requête n'est pas facile à optimiser

  3. Si cela représente une valeur nulle, il peut y avoir d'autres alternatives (logiquement)

    • VARCHAR(100) NON NULL PAR DÉFAUT '';

    • INT PAS NULL PAR DÉFAUT 0;

Phénomènes attendus

  1. J'espère comprendre l'attitude envers NULL lors de la conception d'un schéma (je me souviens avoir lu un article disant que vous devriez essayer : NOT NULL DEFAULT XXX)

仅有的幸福
仅有的幸福

répondre à tous(2)
巴扎黑

Oui, les colonnes NULL doivent être évitées autant que possible et les valeurs par défaut doivent être explicitement définies autant que possible, en particulier pour les colonnes indexées. Dans MySQL, null prend de la place. Si la valeur est indexée, son index n'est pas valide.

某草草

Oui, pour juger qu'un champ n'est pas vide, vous devez également utiliser n'est pas NULL dans MySQL prend en fait de l'espace. Les valeurs NULL ne sont pas stockées dans les index B-tree, donc si le champ indexé le peut. être NULL, l'index L'efficacité diminuera considérablement.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal