Metode efisien untuk mengunggah file csv

Saya mengunggah konten file csv ke database mysql. Saya tidak yakin pendekatan mana yang terbaik & efisien & bagus.

1] Menggunakan pernyataan SQL LOAD DATA INFILE

LOAD DATA LOCAL INFILE '/importfile.csv'
INTO TABLE test_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, filed2, field3); 

2] Menggunakan skrip untuk mengurai dan mengimpor file misalnya fungsi fgetcsv() di php


person JMohasin    schedule 14.03.2012    source sumber
comment
Satu-satunya cara untuk mengetahui secara pasti adalah dengan membandingkan keduanya. Tapi uang saya pasti ada di LOAD DATA LOCAL INFILE untuk kecepatan dan kemudahan penggunaan.   -  person Michael Berkowski    schedule 14.03.2012
comment
Dengan menggunakan fgetcsv(), Anda perlu memanggil beberapa pernyataan INSERT, atau menulis sekumpulan kode untuk membuat satu pernyataan INSERT yang sangat panjang dengan rantai VALUES (),(),(),(),().... Impor CSV asli di MySQL akan jauh lebih mudah.   -  person Michael Berkowski    schedule 14.03.2012


Jawaban (4)


Kalau sudah yakin dengan isi cvnya, gunakan cara 1.

Namun jika Anda tidak yakin, Anda mungkin ingin skrip melakukan pemeriksaan kewarasan terhadap isi file. Dalam hal ini gunakan metode 2.

person Ed Heal    schedule 14.03.2012

Memuat langsung ke database kemungkinan akan lebih efisien daripada menggunakan skrip - Anda tidak perlu mengeluarkan biaya tambahan untuk menjalankan skrip, membaca/mengurai, menyusun kueri, dll. Anda cukup memindahkan data.

Jika Anda perlu melakukan ini secara manual 100 kali sehari, Anda memerlukan sesuatu yang lebih otomatis, seperti skrip. Maka Anda perlu mempertimbangkan efisiensi pribadi dan tingkat usaha Anda.

person Surreal Dreams    schedule 14.03.2012

Satu-satunya alasan untuk tidak menggunakan LOAD DATA INFILE SQL adalah jika Anda memproses beberapa data. Misalnya jika harus mengonversi atau menggabungkan data sebelum memasukkan. Namun jika ini adalah impor langsung, ini adalah yang tercepat.

person Iznogood    schedule 14.03.2012

Saya pribadi lebih suka LOAD DATA INFILE karena memuat skrip biasanya menggunakan beberapa pernyataan insert. Jika Anda perlu memodifikasi CSV, itu akan lebih mudah dari skrip, tetapi menurut pengalaman saya LOAD DATA INFILE lebih cepat.

person JKirchartz    schedule 14.03.2012