suchen

Heim  >  Fragen und Antworten  >  Hauptteil

mysql - Datenbankdesign (Schemadesign). Sollte NULL so weit wie möglich vermieden werden?

Tatsächliches Phänomen

Gelernt:

  1. NULL-Semantik ist unklar

  2. Abfrage ist nicht einfach zu optimieren

  3. Wenn es einen Nullwert darstellt, kann es (logischerweise) andere Alternativen geben

    • VARCHAR(100) NOT NULL DEFAULT '';

    • INT NOT NULL DEFAULT 0;

Erwartetes Phänomen

  1. Ich hoffe, die Einstellung zu NULL beim Entwerfen eines Schemas zu verstehen (ich erinnere mich, dass ich einen Artikel gelesen habe, in dem stand, dass Sie es versuchen sollten: NOT NULL DEFAULT XXX)

仅有的幸福仅有的幸福2779 Tage vor736

Antworte allen(2)Ich werde antworten

  • 巴扎黑

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

    是,应该尽可能避免可为NULL的列,且尽可能显示设置默认值,尤其是被索引的列。mysql中,null占空间,如果该值被索引,那么其索引无效。

    Antwort
    0
  • 某草草

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

    是的,判断字段不为空的时候,还要用 is not null,mysql中的NULL其实是占用空间的,B树索引时不会存储NULL值的,所以如果索引的字段可以为NULL,索引的效率会下降很多。

    Antwort
    0
  • StornierenAntwort