Mari kita bincangkan tentang cara menulis berjuta-juta data ke dalam csv dalam php

藏色散人
Lepaskan: 2023-04-11 09:36:01
ke hadapan
4475 orang telah melayarinya

Artikel ini membawa anda pengetahuan yang berkaitan tentang PHP+csv terutamanya cara menulis berjuta-juta data ke dalam csv melalui fail skrip dalam PHP. Saya harap ia akan membantu anda. Semua orang membantu.

Mari kita bincangkan tentang cara menulis berjuta-juta data ke dalam csv dalam php

Keperluan:

Berjuta-juta data yang ditulis ke csv.

Kerangka:

N Rangka kerja lama bertahun-tahun yang lalu tidak dapat ditemui di Baidu, jadi kaedah penulisannya lebih dekat dengan yang asal

Analisis:

Jumlah data terlalu besar dan tidak boleh ditulis ke muat turun csv menggunakan permintaan penyemak imbas, jadi tulis skrip untuk mendapatkan

Kod pseudo:

//xxx - 根据自己项目替换
//调取脚本文件
exec(xxx);

//脚本文件
//设置执行时间和内存
set_time_limit(0);
ini_set('memory_limit', '128M');
//循环获取
$id = 0;
$data = 'xxx'.'\n';//表头
while(true){
    //SQL
    $list = xxx WHERE id > $id ORDER BY id ASC LIMIT 10000; //每次取1w防止数据库压力大,根据sql来,我这个有联表,
    if(empty($list)){
        break;
    }
    foreach($list as $row){
        $data .= '"' . $row['xxx'] . '",';
        $data .= "\n";
        $id = $row['id'];//更新最大id
    }
    //追加写入csv
    file_put_contents('xxx', mb_convert_encoding($data, 'gbk'),FILE_APPEND);
    unset($data);//基础不好不确定初始化能不能清内存就先unset了
    $data = '';//初始化
}
Salin selepas log masuk

Pada dasarnya, ia ditulis dalam kelompok. beribu-ribu data, memori $data akan melebihinya Di samping itu, jika terdapat lebih daripada satu juta data Jika ya, anda perlu mengeksport fail mengikut fail Excel tidak menyokong pembukaan lebih daripada 1048576 baris Secara teori, anda boleh menambah $ parameter all_count untuk mengira jumlah pertanyaan semasa Jika melebihi satu juta, tambah fail baharu.

Jika terdapat kaedah atau pengoptimuman kod yang lebih baik, sila bincangkannya.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menulis berjuta-juta data ke dalam csv dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!