Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question de rapidité

Lecture d'un fichier ou requêtes MYSQL ?

    23 février 2006 à 14:08:55

    Bonjours,

    Je vaudrai savoir quel est le moyen le plus rapide pour vérifier des petites infos pas souvent changées :euh: .

    Car je vaudrai faire un site en PHP avec administration en ligne et donc avec une base MYSQL, mais par exemple pour avoir le titre du site, je me vois mal faire une requête MYSQL à chaque chargement de page juste pour savoir cette info. Je pense que cela ralentirait fortement le site.

    Merci d’avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      23 février 2006 à 14:10:41

      Faut pas que ça soit des données importante mais la lecture du fichier est plus rapide il me semble :) .

      Mysql est "très" lent :)
      Comme tu dis pour le titre d site tu met un fichier ca suffira amplement ;)
      • Partager sur Facebook
      • Partager sur Twitter
        23 février 2006 à 14:12:07

        ok merci !
        Mais je vien de me rendre compte que c'est vraiment pas pratique de lire un fichier.

        Y'a pas une autre solution aussi rapide ?
        • Partager sur Facebook
        • Partager sur Twitter
          23 février 2006 à 14:58:50

          Salut,
          pourquoi tu veux avoir le titre du site???
          Tu peux directement l'afficher sans faire une requête!!! o_O
          Explique mieux ton pb stp...
          • Partager sur Facebook
          • Partager sur Twitter
            23 février 2006 à 15:10:52

            Ba c'était juste un exemple, mais enfaîte j'ai des info modifiable par un script, et donc il faut bien les mettre quelques parts, donc c'est soit une base de donné, soi autre choses, mais quoi ? MAis c'est info vos etres demander a chaque chargement de page, donc si je passe pas la BDD c'est lent
            • Partager sur Facebook
            • Partager sur Twitter
              23 février 2006 à 15:14:49

              Mais pour afficher le titre et tout ça y'a aps beosin de BDD, tu les affiches directement et sinon, si c'est par exemple un livre d'or y'a pas d'autres moyens qu'une BDD( ou un fichier mais c'est pas pratique), ce qui n'est pas non plus si lent que ça...
              • Partager sur Facebook
              • Partager sur Twitter
                23 février 2006 à 15:17:37

                Citation : simnitch

                Mais pour afficher le titre et tout ça y'a aps beosin de BDD, tu les affiches directement et sinon


                Oui quand tu les changes pas par un script, mais la je vaudrai pourvoir les changé par un script et pa par "à la main"
                • Partager sur Facebook
                • Partager sur Twitter
                  23 février 2006 à 15:21:59

                  Il veut pouvoir changer son titre sans avoir à modifier son fichier php ... Il a le droit non ? mdr ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 février 2006 à 15:22:04

                    Tu as SQL Lite, La Base de Données sans serveur aussi, mais la syntaxe est différente... En tout cas je crois qu'il est plus rapide que MySQL ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      23 février 2006 à 15:22:46

                      10000 itérations d'ouverture/fermeture de fichier : 0.62 seconde
                      10000 itérations de ouverture/lecture/fermeture de fichier : 0.975 seconde
                      10000 requêtes SQL + récupération des résultats : 3.51 secondes
                      1000 itérations d'ouverture/fermeture de BDD : 1.76 seconde

                      Classé du plus rapide au plus lent...
                      On voit l'intêret des fichiers textes et de ne pas fermer/réouvrir la conenxion MySQL à chaque fois.
                      Test sur un fichier texte de 8ko, une requête avec 1 jointure basique sur 7 enregistrements dont la taille totale fait à peu près la taille du fichier texte.

                      Sinon comme bon compromis entre les deux, je pense que SQLite est pas mal :)

                      [edit] Mise à jour des tests, qui étaient erronés... Ceux ci sont corrects!
                      • Partager sur Facebook
                      • Partager sur Twitter
                        23 février 2006 à 16:22:34

                        ok merci beaucoup,

                        mais y'a t'il un moyen de faire des variable dans un fichier texte ? ou quelque chose du genre facilement exploitable en php
                        • Partager sur Facebook
                        • Partager sur Twitter
                          23 février 2006 à 16:22:54

                          ok merci beaucoup,

                          mais y'a t'il un moyen de faire des variable dans un fichier texte ? ou quelque chose du genre facilement exploitable en php ?


                          bizare, j'ai posté en double, si quelq'un peux le suprimer, merci
                          • Partager sur Facebook
                          • Partager sur Twitter
                            23 février 2006 à 16:36:28

                            tu enregistres tes données dans une table SQL et avec une fonction tu écris d'en un fichier texte, quelquechose qui ressemble à :
                            <?php
                            $config['nom_du_site']='Nom du site !!!';
                            $config['url_du_site']='http://site.com';
                            ?>

                            comme çà tu as juste à faire :
                            <?php
                            require('fichier.php');
                            ?>

                            et aucune ouverture de fichier nécessaire ni requète SQL.
                            bien sur faut regénérer le fichier à chaque modification dans la table en question.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 février 2006 à 17:22:49

                              merci,
                              mais la tu met sa dans un fichier en php ? On peut changer le contenue d'une variable et la garder dans un fichier en php ? si oui c'est super bien !
                              • Partager sur Facebook
                              • Partager sur Twitter
                                24 février 2006 à 17:24:02

                                Bonjour tout le monde ! :)

                                J'ai avancé dans mon script :p , mais j'ai un problème : :colere:
                                A fin de chaque ligne, il y a un espace, mais cette espace ce met seulement quand je le li en PHP, et donc je pense que les retour a la ligne du fichier texte, se transforme en espace quand je le li en PHP, et sa me parait très bizare. o_O

                                Bon je pense que personne a compri donc, voici mon script : :D
                                $monfichier = fopen('info.txt', 'r+');
                                $ligne = 1;
                                While (($info[$ligne] = fgets($monfichier)) !== False)
                                {       
                                        $ligne++;
                                }
                                fclose($monfichier);

                                $nom_site = $info[1];
                                $module_accueil = $info[2];
                                $theme_defaut = $info[3];
                                       
                                echo    $nom_site,$module_accueil,$theme_defaut;


                                voici le fichier texte (le fichier info.txt) :

                                PHP-DeaX
                                Accueil
                                1


                                et donc, si vous tesez, il y a des espaces entre le contenue des variable qui ne devri pas ce mettre ! Et donc cela me fait planter mon script !
                                J'ai pas beaucoup d'idée, mais peut etre avec les Regex ou quelque chose d'autre, mais la je voi vraiment pas !

                                Merci d'avance ! ;)
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Question de rapidité

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown