Saya tahu saya tahu. Bagaimana Anda bisa menempatkan PHP dan Cepat di baris yang sama? . Anda harus mencoba PHP 7 dan mengalaminya sendiri. Akan ada banyak kritik untuk artikel ini. Silakan baca Show
Secara umum PHP tidak akan memiliki kasus penggunaan seperti itu. Tapi Anda tidak pernah tahu, kapan Anda akan menemukan situasi seperti itu, kebutuhan klien bisa datang kapan saja. Ketika Anda adalah "programmer lepas" (tidak memainkan peran konsultan), Anda akan didorong dengan segala macam persyaratan gila Saya telah menulis artikel tentang semua hal CSV di PHP. Anda harus mempelajarinya untuk mempelajari cara menangani file CSV di PHP Saya sangat menyadari tentang tolok ukur mikro dan jebakannya. Jadi, saya tidak pergi ke arah itu untuk artikel ini. Itu sebabnya saya memberikan judul hanya dalam hitungan detik. Ini perkiraan. Ini bukan untuk orang yang akan melihat dalam mikro, nano detik Jika Anda ingin memasukkan sejuta catatan dalam beberapa detik, menggunakan skrip PHP secara terprogram, maka ini pasti akan membantu. Kasus penggunaan jarang dan jadi solusinya. Anda mungkin harus melakukan beberapa penyesuaian di sana-sini dalam kode contoh ini agar sesuai dengan kasus Anda
Dua hal utama yang perlu diperhatikan adalah,
Hal di atas adalah kunci dalam mempercepat keseluruhan proses. Membaca baris demi baris dan mengulang melalui satu putaran akan memperlambat proses. Jadi semuanya bermuara pada membaca potongan (batch) dan multi insert. Kemudian poin ketiga yang perlu disebutkan adalah gunakan fungsi asli PHP sedapat mungkin Saya telah menggunakan Regex untuk mengganti baris baru di file CSV. Jika Anda memiliki opsi yang lebih baik, silakan sarankan melalui bagian komentar di bawah Sekarang izinkan saya menelusuri kodenya. Ketakutan PHP memungkinkan untuk membaca dalam potongan string. Cobalah bereksperimen dengan ukuran bongkahan (batch) yang berbeda. Tidak ada ukuran yang tepat. Ada banyak variabel, konfigurasi server Anda, perangkat keras, pengaturan MySQL, dan banyak lagi Saya telah menggunakan contoh file CSV yang saya hasilkan sendiri. Saya akan merinci prosesnya di bawah ini. Anda dapat menggunakan sampel Anda sendiri atau data asli dan meneruskannya sebagai parameter file_get_contents_chunked melakukan pemrosesan file CSV dan ini memiliki fungsi callback sebagai argumen terakhir. Panggilan balik ini menangani penguraian catatan oleh pembatas (koma dalam contoh saya) dan membuat kueri multi-sisipkan dan melakukan penyisipan yang sebenarnya Anda mungkin harus mengubah bagian kueri agar sesuai dengan format tabel database Anda. Struktur keseluruhan skrip menangani penguraian CSV dalam potongan (batch) dan panggilan balik. Terima kasih kepada RobertPitt. Satu hal yang perlu disebutkan adalah, alih-alih membaca baris demi baris, saya menggunakan potongan itu untuk meningkatkan kecepatan. Semua melalui pengguna Internet telah menyarankan fgetcsv. Tapi saya telah melanjutkan dengan membaca chunk (batch) dari ketakutan. Ketakutan ketika membaca sebagai potongan (batch) itu jelas akan membuat bagian dari baris CSV terpotong. Saya telah menyimpan catatan terakhir yang terpotong itu di setiap potongan dalam variabel $queryValuePrefix. Itu dipertahankan dengan mendeklarasikan sebagai referensi melalui callback. Contoh kumpulan data CSVSaya menulis skrip PHP kecil untuk menghasilkan kumpulan data CSV yang diperlukan. Ada banyak sumber seperti catatan sensus Pemerintah, data Covid yang sekarang populer, data cuaca dan banyak lagi Di era Kecerdasan Buatan saat ini, di mana Penambangan Data lebih populer daripada Twinkle Twinkle Little Star, mendapatkan sampel file CSV besar hanya dengan sekali klik Bagaimana cara mengimpor file CSV besar ke MySQL?Mengimpor CSV ke MySQL Menggunakan Workbench . Membuka wizard Impor di meja kerja MySQL. Untuk membuka wizard Impor, arahkan perhatian Anda ke panel navigator yang biasanya ada di sisi kiri meja kerja MySQL. . Memilih sumber data. . Memilih/membuat tabel. . Mengisi pengaturan lanjutan Bagaimana cara mengimpor file CSV besar?Jadi, bagaimana cara membuka file CSV besar di Excel? . Pisahkan file CSV menjadi beberapa file yang lebih kecil yang sesuai dengan batas 1.048.576 baris ; .
Bagaimana cara mengimpor dataset besar di MySQL?Langkah pertama adalah membuat database, Sekarang ketikkan perintah dalam cmd untuk menampilkan semua file yang termasuk dalam database dengan mengetik show database. Setelah membuat dan memilih database, Impor file sql menggunakan perintah ini. Anda telah berhasil menyelesaikan proses mengunggah database besar di MySQL
Bagaimana cara mengimpor file CSV besar di beberapa tabel MySQL?Jadi, ini diperlukan pada saat membuat koneksi database di PHP PDO, jika kita ingin mengimpor file besar CSV dengan menggunakan perintah LOAD FILE MYSQL. After this you can find query with LOAD DATA LOCAL INFILE command, it will read CSV file data from temporary location of selected CSV file. |