Existe-t-il un bon moyen d'utiliser PHP pour traiter un très gros fichier SQLite (des dizaines de gigaoctets) ?
PHP中文网
PHP中文网 2017-05-16 13:04:33
0
9
690

Quel est le bon moyen d'utiliser PHP pour traiter un très gros fichier SQLite (des dizaines de gigaoctets)
Il vient de mourir lors de son traitement~~

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(9)
左手右手慢动作

Un fichier aussi volumineux ne peut pas être traité par PHP. Pour traiter un fichier, PHP doit d'abord le lire en mémoire, et la mémoire que chaque script peut utiliser est liée à la limite mémoire dans le fichier de configuration PHP. Tant que votre mémoire est suffisamment grande, vous pouvez la définir sur illimité et utiliser la mémoire maximale du système.

La solution recommandée est de couper d'abord le fichier en petits fichiers, d'utiliser un programme shell tel que sed pour couper le fichier en plusieurs petits fichiers selon une certaine taille (la taille est déterminée en fonction de la taille de votre mémoire PHP), puis de traiter avec PHP.

世界只因有你

Lire ligne par ligne, PHP a cette fonction, lire 3 lignes à la fois, mais SQLite est une base de données locale, la lecture est une question de pilote, cela n'a rien à voir avec PHP, il suffit de ne pas tout imprimer en même temps

阿神

Les données doivent être transférées vers MYSQL puis fournies à PHP pour lecture et écriture. SQLite est à l'origine une petite base de données de fichiers avec une faible capacité à gérer des données volumineuses.

大家讲道理

Choqué ! Pour une si grande quantité de données, SQLite est toujours utilisé.
De plus, si vous lisez des dizaines de gigaoctets dans la mémoire à la fois, à moins que votre mémoire ne contienne réellement des dizaines de gigaoctets, la mémoire sera définitivement saturée.
Il est recommandé d'essayer de diviser cette base de données ou de la convertir vers d'autres types de traitement de base de données.

过去多啦不再A梦

Le traitement de texte de PHP n’est pas idéal et est très lent. La solution de traitement après avoir entré MySQL est réalisable, mais elle prend plus de temps.

Référence Utilisez-le pour vérifier

世界只因有你

Je ne comprends pas SQLite, mais ça doit être difficile de traiter directement un fichier aussi volumineux. Mais il y a une idée générale. Juste un démontage. Suivez la bibliothèque. Regardez ou quelque chose comme ça.

小葫芦

Puisqu'il s'agit d'un fichier SQLite, cliquez simplement sur Database Read->Process->Storage. PHP peut utiliser SQLite directement par défaut.

曾经蜡笔没有小新

Convertissez SQLite en Mysql, puis optimisez l'index, et il ne devrait y avoir aucun problème.

给我你的怀抱

Veuillez vous référer à ce produit

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal