recherche

Maison  >  Questions et réponses  >  le corps du texte

mysql - Conception de base de données (conception de schémas), NULL doit-il être évité autant que possible?

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)

仅有的幸福仅有的幸福2779 Il y a quelques jours740

répondre à tous(2)je répondrai

  • 巴扎黑

    巴扎黑2017-05-18 10:56:25

    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.

    répondre
    0
  • 某草草

    某草草2017-05-18 10:56:25

    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.

    répondre
    0
  • Annulerrépondre