學(xué)んだこと:
NULL セマンティクスは不明瞭です
クエリの最適化は簡(jiǎn)単ではありません
それが null 値を表す場(chǎng)合は、(論理的に) 他の代替手段が存在する可能性があります。
はい、NULL 可能な列はできる限り避け、特にインデックス付き列の場(chǎng)合は、可能な限りデフォルト値を明示的に設(shè)定する必要があります。 mysql では、値にインデックスが付けられている場(chǎng)合、null はスペースを占有します。そのインデックスは無(wú)効です。
はい、フィールドが空ではないと判斷する場(chǎng)合は、mysql で is not NULL を使用する必要もあります。NULL 値は実際には B ツリー インデックスに格納されないため、インデックス付きフィールドを空にすることができます。 NULL、インデックス 効率が大幅に低下します。