Bonjour,
Je voudrais savoir comment procéder pour optimiser le traitement de fichiers [.txt] assez conséquents ?
Merci,
Metallic-84s
Bonjour,
Je voudrais savoir comment procéder pour optimiser le traitement de fichiers [.txt] assez conséquents ?
Merci,
Metallic-84s
Salut
Peux-tu préciser ta pensée ?
Un fichier texte n'est guère qu'une variable. Tout dépend de ce que tu souhaites en faire...
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Alors, par exemple : je possède un fichier [.txt] que j'utilise comme base de donnée. Celui-ci ne fait que ~500 Ko, donc il n'est pas encore trop lourd à manipuler. Mais par exemple, pour un fichier de plusieurs Go, le temps de calcul, par exemple pour trouver une entrée dans la base de donnée doit être relativement long, non ?Envoyé par Kirkis
Parce que tu n'as pas trouvé de base de données qui te conviennes ? A partir d'un certain niveau de données à traiter il faut passer à des solutions professionnelles et cesser la bidouille.Envoyé par Metallic-84s
Plusieurs gigas... naméo.
Consultant idéaliste.
ben utilise une base de données alors.
sinon tu peux toujours te construire un index qui dit qu'une chaine de caractère se trouvent aux positions (seek) x1, x2, ... et xn dans le fichier de base.
Comme le dit macbook, il est généralement préférable de passer à l'utilisation d'un SGBD. C'est ce système qui s'occupera d'optimiser les accès et la recherche.
Tu as l'embarras du choix...
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Ok merci...
Bien entendu pour la base de donnée. Mais je me demandais comment techniquement on pourrait traiter ce genre de "cas". Donc oui, l'idée de Mr N. me semble bonne : construire un index et traiter le fichier par blocs.
Cela revient à réinventer la roue.
Depuis le temps qu'elle a été inventée, il va falloir sérieusement se pencher dessus. Il doit y avoir des améliorations à apporter.
Consultant idéaliste.
Sinon le code de sqlite est disponible si tu veux le porter en php
Je ne vais pas utiliser un telle solution ! Je veux simplement comprendre comment on pourrait procéder. Maintenant, si tu utilises tes outils informatiques sans comprendre comment ils ont été élaborés, ça te regarde. Mais je voulais juste m'informer, c'est tout.Envoyé par macbook
BerkeleyDB a beau avoir été racheté récemment, le code est encore disponible et j'imagine que tu trouveras difficilement plus rapide (c'est parfois le backend utilisé pour les SGBD).
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
On ne s'énerve pas.Envoyé par Metallic-84s
Je donne seulement mon avis.
J'utilise un système de fichier txt perso pour gérer des données *lights* pour alléger ma base de données. Seulement au delà d'un certain poids de fichier, ou en cas de besoin de recherche complexe ou d'updatage trop régulier le système trouve immédiatement ses limites.
Il faut alors passer à un SGBD. Sqlite est tout indiqué pour cela, mais ce n'est pas dispo pour tout le monde.
Consultant idéaliste.
Oki...Envoyé par macbook
Et à partir de quelle taille considères-tu qu'il est nécessaire de passer du fichier texte à la base de donnée ? Enfin, ça dépend beaucoup du niveau de sollicitation de ce fichier texte je pense.
Au delà de 2 MO PHP a du mal à gérer les fichiers de sessions sans dépasser la mémoire tampon, alors on devrait pouvoir rasonablement considérer qu'il en va de même pour les fichier .txt.
Perso mes fichier .txt contiennent rarement plus de cents lignes pour un poids de 50 ko maxi...
Consultant idéaliste.
Okay... C'est noté, merci.Envoyé par macbook
Bonne journée.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager