Adalah database query lebih cepat jika saya menyisipkan beberapa baris sekaligus:
seperti
INSERT....
UNION
INSERT....
UNION
(Saya perlu untuk menyisipkan seperti 2-3000 baris)
INSERT
pernyataan yang menggunakannilai-NILAI
sintaks dapat menyisipkan beberapa baris. Untuk melakukan hal ini, termasuk beberapa daftar nilai kolom, masing-masing tertutup dalam tanda kurung dan dipisahkan dengan tanda koma.
Contoh:
INSERT INTO tbl_name
(a,b,c)
VALUES
(1,2,3),
(4,5,6),
(7,8,9);
Jika anda memiliki data anda dalam sebuah file teks, anda dapat menggunakan LOAD DATA INFILE.
Ketika loading tabel dari file teks, menggunakan LOAD DATA INFILE. Ini biasanya adalah 20 kali lebih cepat daripada menggunakan MENYISIPKAN pernyataan.
Mengoptimalkan MENYISIPKAN Pernyataan
Anda dapat menemukan lebih banyak tips tentang cara untuk mempercepat anda menyisipkan pernyataan pada link di atas.
Berikut ini adalah PHP larutan siap untuk digunakan dengan n:m (banyak-ke-banyak hubungan) tabel :
// get data
$table_1 = get_table_1_rows();
$table_2_fk_id = 123;
// prepare first part of the query (before values)
$query = "INSERT INTO `table` (
`table_1_fk_id`,
`table_2_fk_id`,
`insert_date`
) VALUES ";
//loop the table 1 to get all foreign keys and put it in array
foreach($table_1 as $row) {
$query_values[] = "(".$row["table_1_pk_id"].", $table_2_fk_id, NOW())";
}
// Implode the query values array with a coma and execute the query.
$db->query($query . implode(',',$query_values));
// db table name / blog_post / menu / site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO product_cate (site_title, sub_title)
VALUES ('$site_title', '$sub_title')";
// db table name / blog_post / menu / site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO menu (menu_title, sub_menu)
VALUES ('$menu_title', '$sub_menu', )";
// db table name / blog_post / menu / site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO blog_post (post_title, post_des, post_img)
VALUES ('$post_title ', '$post_des', '$post_img')";