Menguatkuasakan Had Baris dalam Jadual MySQL: Pendekatan Lebih Cekap
Mengekalkan had baris maksimum dalam jadual MySQL adalah penting untuk mengurus saiz data dan prestasi. Walaupun sifat MAX_ROWS memberikan petunjuk kepada enjin pangkalan data, ia tidak menguatkuasakan had yang ketat.
Penyelesaian Alternatif
Penyelesaian Yang Diperbaiki: Pencetus dengan Pengendalian Ralat
Penyelesaian yang lebih cekap melibatkan penciptaan pencetus yang mengehadkan sisipan baris baharu apabila had maksimum dicapai. Dengan menimbulkan ralat semasa proses pemasukan, pencetus memastikan saiz jadual tidak melebihi.
Begini cara untuk melaksanakan penyelesaian ini:
DELIMITER $$ CREATE TRIGGER trigger1 BEFORE INSERT ON table1 FOR EACH ROW BEGIN SELECT COUNT(*) INTO @cnt FROM table1; IF @cnt >= 25 THEN CALL sth(); -- raise an error END IF; END $$ DELIMITER ;
Nota: Operasi COUNT boleh menjadi perlahan pada jadual InnoDB yang besar. Pada MySQL 5.5 atau lebih baru, pernyataan SIGNAL // RESIGNAL boleh digunakan untuk menimbulkan ralat.
Pendekatan ini menawarkan faedah berikut:
Atas ialah kandungan terperinci Bagaimana untuk Menguatkuasakan Had Baris dalam Jadual MySQL dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!