mysql - PHPExcel mengimport 10,000 keping tamat masa sambungan data
世界只因有你
世界只因有你 2017-05-16 12:59:12
0
4
1041

Seorang pemula baru belajar PHP Pada masa ini, pembangunan perlu menggunakan phpexcel untuk memasukkan 10,000 rekod ke dalam pangkalan data (1 rekod dengan 43 lajur, semak sama ada ia wujud dalam pangkalan data tidak wujud, teruskan memasukkan dan mengemas kini data asal Tetapkan bendera, jika tidak rekod akan dilangkau.
Situasi semasa ialah mengambil masa lebih daripada 20 saat untuk mengimport 2,000 keping data Apabila mengimport 10,000 keping data, ralat 500 dilaporkan. Import gagal disimpan. `$result=move_uploaded_file($_FILES'inputExcel',$uploadfile);

    if(!$result)
    {
        die('no file!');
    }
    
    $objReader = PHPExcel_IOFactory::createReader('CSV')
    ->setDelimiter(',')
    ->setInputEncoding('GBK')
    ->setEnclosure('"')
    ->setLineEnding("\r\n")
    ->setSheetIndex(0);
    $objPHPExcel = $objReader->load($uploadfile);        
    $sheet = $objPHPExcel->getSheet(0);        
    $highestRowNum = $sheet->getHighestRow();
    $highestColumn = $sheet->getHighestColumn();
    $highestColumnNum = PHPExcel_Cell::columnIndexFromString($highestColumn);
    echo $highestRowNum.'+'.$highest

Bilangan baris dan lajur tidak boleh diperoleh di sini. Set_time_limit=0 telah ditambahkan pada kod, dan memori telah ditukar kepada 128M. Meminta tunjuk ajar

世界只因有你
世界只因有你

membalas semua(4)
伊谢尔伦

Sepatutnya ingatan penuh. Anda boleh menggunakan lelaran hasil untuk mengehadkan bilangan item yang dimasukkan setiap kali. Malah, ia adalah coroutine.

大家讲道理

Satu import 10,000 keping data akan tamat masa dengan mudah dan meletakkan beban yang berat pada pelayan Anda boleh mempertimbangkan untuk membahagikan 1,000 keping data kepada berbilang import jenis ini boleh diselesaikan dengan cara yang tidak segerak jangan biarkan pengguna menunggu. Anda juga boleh mempertimbangkan untuk menggunakan coroutine.

漂亮男人

Tambahkan nama fail yang dimuat naik pada baris gilir Tulis skrip untuk membaca nama fail daripada baris gilir dan buka fail untuk diimport

为情所困

Memandangkan ia adalah csv, tidak perlu menggunakan PHPExcel Pustaka sumber terbuka ini menggunakan terlalu banyak memori Saya menggunakan perpustakaan ini sebelum ini, https://packagist.org/package... (nampaknya hanya menyokong PHP7). Saya tidak akan menulis demo saya akan mencarinya sendiri dalam dokumentasi Saya boleh mengimport ratusan ribu item tanpa sebarang tekanan, terima kasih.
Memperkenalkan satu lagi, https://packagist.org/package..., saya cadangkan supaya penyoal memahami dahulu apa itu csv, malah kita boleh menulis kelas import csv sendiri, yang dirasakan paling cekap dan ringan magnitud.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan