Saya memiliki 1-banyak jumlah catatan yang perlu dimasukkan ke dalam tabel. Apa cara terbaik untuk melakukan ini dalam kueri? Haruskah saya membuat satu lingkaran dan memasukkan satu catatan per iterasi? Atau ada cara yang lebih baik?
148
INSERT
mendukung ini secara asli !Jawaban:
Dari manual MySQL
sumber
max_allowed_packet
Sebagian besar waktu, Anda tidak bekerja di klien MySQL dan Anda harus memasukkan secara bersamaan menggunakan API yang sesuai.
Misalnya di JDBC:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/tjvbtupd.htm
sumber
Silakan merujuk ke dokumentasi MySQL pada Pernyataan INSERT
sumber
insert into select from
kinerja? apakah itu secepat memasukkan massal?Memuat kueri infil data adalah opsi yang jauh lebih baik tetapi beberapa server seperti godaddy membatasi opsi ini pada shared hosting jadi, hanya dua opsi yang tersisa kemudian satu adalah masukkan catatan pada setiap iterasi atau masukkan batch, tetapi masukkan batch memiliki keterbatasan karakter jika kueri Anda melebihi ini jumlah karakter yang diatur dalam mysql maka permintaan Anda akan macet, Jadi saya sarankan memasukkan data dalam potongan dengan memasukkan batch, ini akan meminimalkan jumlah koneksi yang dibuat dengan database.
sumber
LOAD DATA LOCAL INFILE '/users/name/txt.file'
mysql memungkinkan Anda untuk memasukkan banyak baris sekaligus. INSERT manual
sumber