Adakah terdapat cara yang baik untuk menggunakan PHP untuk memproses fail SQLite yang sangat besar (berpuluh-puluh gigabait)?
PHP中文网
PHP中文网 2017-05-16 13:04:33
0
9
681

Apakah cara yang baik untuk menggunakan PHP untuk memproses fail SQLite yang sangat besar (berpuluh-puluh gigabait)
Ia baru sahaja mati apabila memprosesnya~~

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(9)
左手右手慢动作

Fail sebesar itu tidak boleh diproses oleh PHP Untuk memproses fail, PHP mesti membacanya terlebih dahulu ke dalam memori, dan memori yang boleh digunakan oleh setiap skrip adalah berkaitan dengan had_memori dalam fail konfigurasi PHP. Selagi ingatan anda cukup besar, anda boleh menetapkannya kepada tidak terhad dan menggunakan memori maksimum sistem.

Penyelesaian yang disyorkan ialah potong fail kepada fail kecil dahulu, gunakan program shell seperti sed untuk memotong fail kepada beberapa fail kecil mengikut saiz tertentu (saiz ditentukan mengikut saiz memori PHP anda), dan kemudian proses ia dengan PHP.

世界只因有你

Baca baris demi baris, PHP mempunyai fungsi ini, ia membaca 3 baris pada satu masa, tetapi SQLite adalah pangkalan data tempatan, dan membaca adalah masalah pemandu sekali gus

阿神

Data hendaklah dipindahkan ke MYSQL dan kemudian diberikan kepada PHP untuk membaca dan menulis. SQLite pada asalnya adalah pangkalan data fail kecil dengan keupayaan rendah untuk mengendalikan data yang besar.

大家讲道理

Terkejut! Untuk jumlah data yang begitu besar, sqlite masih digunakan.
Selain itu, jika anda membaca berpuluh-puluh gigabait ke dalam memori pada satu masa, melainkan jika ingatan anda benar-benar mempunyai berpuluh-puluh gigabait, ia pasti akan memecahkan ingatan.
Adalah disyorkan untuk mencuba memisahkan pangkalan data ini atau menukarnya kepada jenis pemprosesan pangkalan data lain.

过去多啦不再A梦

Pemprosesan teks PHP tidak sesuai dan sangat perlahan. Penyelesaian pemprosesan selepas memasuki mysql boleh dilaksanakan, tetapi ia lebih memakan masa.

Rujukan Gunakan untuk menyemak

世界只因有你

Saya tidak faham sqlite, tetapi pasti sukar untuk memproses terus fail yang begitu besar. Tetapi ada idea umum. Hanya membongkar. Ikut perpustakaan. Tonton atau sesuatu.

小葫芦

Memandangkan ia adalah fail sqlite, cuma klik Pangkalan Data Baca->Proses->Storan PHP boleh menggunakan sqlite secara lalai.

曾经蜡笔没有小新

Tukar sqlite kepada Mysql, kemudian optimumkan indeks, dan sepatutnya tiada masalah.

给我你的怀抱

Sila rujuk produk ini

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