Dipelajari:
NULL semantik tidak jelas
Pertanyaan bukan mudah untuk dioptimumkan
Jika ia mewakili nilai nol, boleh ada alternatif lain (secara logik)
VARCHAR(100) BUKAN NULL LAILA '';
INT BUKAN NULL lalai 0;
Saya harap dapat memahami sikap terhadap NULL apabila mereka bentuk skema (saya masih ingat membaca artikel yang mengatakan bahawa anda harus mencuba: NOT NULL DEFAULT XXX)
Ya, lajur NULL harus dielakkan sebanyak mungkin dan nilai lalai hendaklah ditetapkan secara eksplisit sebanyak mungkin, terutamanya untuk lajur diindeks. Dalam mysql, null mengambil ruang Jika nilai diindeks, indeksnya tidak sah.
Ya, apabila menilai bahawa medan tidak kosong, anda juga perlu menggunakan NULL dalam mysql sebenarnya mengambil ruang nilai NULL tidak disimpan dalam indeks B-tree, jadi jika medan yang diindeks boleh. menjadi NULL, indeks Kecekapan akan jatuh banyak.