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.
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.
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.
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.
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