Gunakan laravel excel untuk mengimport excel pengguna
Boleh dijangkakan excel akan mempunyai ribuan hingga puluhan ribu penyertaan.
Perlu dinilai untuk tidak mengimport pengguna pendua Contohnya, jika 10,000 orang diimport dan sudah ada 100 orang dalam pangkalan data, maka 100 orang ini perlu dinilai dan pemprosesan logik tambahan dilakukan. 9,900 orang lagi diimport. Dan ia merekodkan 9900 status sisipan, seperti 8000 kejayaan dan 1900 kegagalan. Saya sedang memikirkan beberapa penyelesaian dan saya tidak tahu yang mana satu lebih munasabah
1. Kaedah sisipan kelompok tradisional tidak dapat menentukan dengan tepat sama ada setiap keping data diulang atau merekodkan status pemulangan. Tetapi kecekapan harus agak tinggi.
2. Gunakan gelung for untuk menyemak sama ada ia wujud sebelum memasukkan, dan kemudian merekodkan status selepas memasukkan Dari logik perniagaan, ia adalah yang paling sesuai untuk keperluan, tetapi kecekapannya adalah sangat rendah ia akan menyebabkan 500 ralat atau tamat masa dengan mudah.
3. Tingkatkan berdasarkan 2. Tulis keseluruhan proses ke dalam baris gilir, kumpulkan ketulan ke dalam baris gilir, dan kemudian proseskannya di latar belakang. Kelemahannya ialah pengalaman pengguna agak lemah dan tidak boleh diperolehi serta-merta. Ia juga perlu bekerjasama dengan sistem pemberitahuan untuk melakukan ini.
4. Selepas menyemak, terdapat cara lain untuk menggunakan transaksi untuk melakukan dalam blok. Saya tidak tahu cara ini berfungsi dan saya belum mengujinya lagi. Tolong berikan saya nasihat anda.
Saya tidak tahu sama ada anda mempunyai idea yang lebih baik. Ia boleh mengimbangi kecekapan dan logik. Terima kasih
Melihat kepada maksud soalan, saya faham ia adalah
Keseluruhan proses sepatutnya memakan masa yang agak lama Anda boleh memberi pengguna status [Pemprosesan], memprosesnya di latar belakang dan mengeluarkan hasilnya selepas ia diproses sepenuhnya.1 upload Excel
2 analisis, penyimpanan
3
Beritahu saya pendapat saya, jangan komen jika anda tidak menyukainya.
Anggap bahawa pengecam unik dalam pangkalan data dan excel ialah nombor ID pengguna:
Semak nombor ID sedia ada dalam pangkalan data,
Selepas Excel dimuat naik, ia merentasi setiap baris dan menentukan sama ada nombor ID dalam sekeping data semasa ditemui dalam tatasusunan dalam pangkalan data
Jika tiada, tuliskannya ke dalam pangkalan data dan tambahkan nombor ID pada tatasusunan yang ditemui,
Jika ya, langkau
Dalam persekitaran dalam talian saya, saya memuat naik fail Excel dengan 50,000+ baris pada satu masa, dan masa menunggu hanya kira-kira 6 saat
Sudah tentu, bilangan baris dan lajur tunggal dalam setiap persekitaran dalam talian dan fail Excel adalah berbeza.
Ini untuk rujukan poster sahaja