Pemasukan Baris Dioptimumkan ke dalam Pangkalan Data MySQL
Prestasi penyisipan baris ke dalam pangkalan data MySQL adalah penting untuk pengurusan data yang cekap. Kaedah konvensional menggunakan pertanyaan sisipan individu boleh memakan masa. Berikut ialah pendekatan yang sangat dioptimumkan yang mempercepatkan proses pemasukan dengan ketara.
Daripada melaksanakan banyak penyataan INSERT individu, kaedah yang dipertingkat ini menggunakan penyataan INSERT berbilang baris tunggal untuk memasukkan berbilang baris secara serentak. Dengan mengelakkan overhed berulang dan mencipta kumpulan besar data untuk dimasukkan, pangkalan data boleh memproses operasi dengan lebih cekap.
Kod di bawah menunjukkan teknik ini:
public static void BulkToMySQL() { string ConnectionString = "server=192.168.1xxx"; StringBuilder sCommand = new StringBuilder("INSERT INTO User (FirstName, LastName) VALUES "); using (MySqlConnection mConnection = new MySqlConnection(ConnectionString)) { List<string> Rows = new List<string>(); for (int i = 0; i < 100000; i++) { Rows.Add(string.Format("('{0}','{1}')", MySqlHelper.EscapeString("test"), MySqlHelper.EscapeString("test"))); } sCommand.Append(string.Join(",", Rows)); sCommand.Append(";"); mConnection.Open(); using (MySqlCommand myCmd = new MySqlCommand(sCommand.ToString(), mConnection)) { myCmd.CommandType = CommandType.Text; myCmd.ExecuteNonQuery(); } } }
Dengan memanfaatkan kaedah ini , penyisipan 100k baris boleh diselesaikan dalam masa 3 saat, peningkatan dramatik berbanding 40 yang asal detik. Pernyataan SQL yang dijana, seperti yang ditunjukkan di bawah, menunjukkan sisipan berbilang baris dalam satu pernyataan:
INSERT INTO User (FirstName, LastName) VALUES ('test','test'),('test','test'),... ;
Untuk memastikan integriti data dan mencegah serangan suntikan kod, kaedah MySqlHelper.EscapeString digunakan untuk melepaskan aksara khas dalam data yang dimasukkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengoptimumkan Sisipan Baris MySQL untuk Pengurusan Data yang Lebih Pantas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!