Apabila Null ialah Pilihan Pangkalan Data yang Tepat
Apabila bekerja dengan jadual pangkalan data dalam MySQL, penggunaan nilai NULL mungkin menimbulkan kebimbangan. Walaupun kepentingan semantiknya, beberapa sumber menasihatkan agar tidak digunakan, memetik isu prestasi. Artikel ini menyelidiki keadaan di mana penggunaan NULL adalah sesuai dan meneroka pertukaran yang terlibat.
Keadaan yang Sesuai untuk Null
Menggunakan NULL adalah sesuai apabila:
Pertimbangan Prestasi
Artikel lepas telah menyebut kebimbangan prestasi berkenaan medan yang boleh dibatalkan. Walau bagaimanapun, bukti empirikal untuk menyokong dakwaan ini kurang. Adalah penting untuk mendekati tuntutan sedemikian dengan berhati-hati, bergantung pada ukuran yang boleh dibuat semula dan bukannya andaian terbiar.
Dalam MySQL, menggunakan indeks boleh mengoptimumkan carian untuk nilai NULL. Contoh berikut menunjukkan penggunaan indeks dengan carian NULL:
mysql> CREATE TABLE foo ( i INT NOT NULL, j INT DEFAULT NULL, PRIMARY KEY (i), UNIQUE KEY j_index (j) ); mysql> INSERT INTO foo (i, j) VALUES (1, 1), (2, 2), (3, NULL), (4, NULL), (5, 5); mysql> EXPLAIN SELECT * FROM foo WHERE j IS NULL; +----+-------------+-------+------+---------------+---------+---------+-------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+------+---------------+---------+---------+-------+------+-------------+ | 1 | SIMPLE | foo | ref | j_index | j_index | 5 | const | 2 | Using where | +----+-------------+-------+------+---------------+---------+---------+-------+------+-------------+
Mengelakkan Nulls: Pendekatan Sesat
Menggantikan NULL dengan nilai seperti sifar, rentetan kosong , atau palsu ialah keputusan reka bentuk yang cacat. Nilai ini mungkin mewakili data yang bermakna dalam lajur. Menggunakan NULL membolehkan julat penuh nilai data digunakan tanpa kesamaran.
Atas ialah kandungan terperinci Patutkah Anda Mengamalkan Nilai NULL dalam Pangkalan Data MySQL Anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!