IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PHP ou MySQL ? :)


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Mai 2008
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 191
    Par défaut PHP ou MySQL ? :)
    Bonjour,

    Je me pose la question, de la pertinence d'une base de données confronté à un système de fichier classique.

    Pour cela imaginons un site classique utilisant déjà la technologie php pour sa conception.

    Imaginons que je n'ai pas besoin de tout un System de gestion de base données, mais juste un fichier php (pourquoi pas) de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //couleur.php
    <?php
     
    bleu ocean
    jaune soleil
    vert plante
    rouge sang
    etc ...
     
    ?>
    Et que associer à mon site (toujours), j'ai une fonction qui en recherchant "recherche(vert)" me retourne "plante".

    Je voulais savoir, si coté serveur cela serait plus lourd (niveau charge) a utiliser un tel système plutôt qu'une base de données classique (mysql ou autre).

    Merci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    si le système est aussi simple que ça, garde un fichier php
    si c'est plus compliquer et que t'as 50000 entrée faudra penser a passe sur un SGDB

  3. #3
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    tout depends de la longueur de la liste et de son utilisation.
    tant que tu restes sur une courte liste statique, la coder en "dur" c'est simple et économique. dès que tu auras une grande liste dynamique alors une base de donnée sera plus pratique.

    ya un côté "spychologique" à la définition d'une grande liste cependant. PHP gère extremement bien des tableaux avec des miliers d'entrées.

  4. #4
    Membre très actif
    Inscrit en
    Mai 2008
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 191
    Par défaut
    Merci pour vos réponses rapide.

    Effectivement dans mon cas, je n'aurai pas plus de 1000 entrées.

    Vos réponses vont aussi dans le même sens que je pensais.

    Il n'y pas lieu de ce surcharger d'une technologie s'il n'y en a pas besoin.

    Donc dans mon cas précis, j'ai donc ma réponse !

    Mais d'un point de vue plus intellectuelle, je me demandais puisque l'exemple à ét é donné, si j'avais 60 000 entrées une recherche en base de données serait elle vraiment plus rapide, qu'une recherche au sein d'un fichier ?

    Parce que j'imagine, que quelque part une base de données c'est aussi un fichier non ?

    Voila, merci

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    c'est pas un problème de place, mais de processeur et de mémoire

  6. #6
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    c'est pas que ça le problème...

    tu as aussi des problèmes d'algorithmique... l'implémentation en mémoire des tableau php n'est pas celle des tables mysql du tout... php est généraliste alors qu'un sgbd lui va être optimisé pour ça...

    dans une bd une table c'est plusieurs fichiers mais tu as un système de cache mémoire et d'optimisation pour les requêtes et les données... tu ne relis pas les fichiers de données forcément...

    php n'est pas du tout pensé pour ce que tu veux faire vu que tu ne peux pas garder en mémoire ton tableau... donc si tu as peu de recherches comme ça pas de soucis, si tu as une certaine quantité de connexion à ton script et en fonction des réglages pour les ressources de ton hébergement... c'est plus vrai...

    en fait, c'est un tout et y a pas de réponse garantie à par tester réellement...

    donc à chaque recherche:
    • tu recharges ton fichier (selon la méthode choisie ça peut vite plomber les performances)
    • tu recrées le tableau
    • tu refais la recherche

    les 2 premiers points sont les plus gourmands en ressources
    donc à réfléchir

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Mais d'un point de vue plus intellectuelle, je me demandais puisque l'exemple à ét é donné, si j'avais 60 000 entrées une recherche en base de données serait elle vraiment plus rapide, qu'une recherche au sein d'un fichier ?
    Plus que le nombre d'entrée , c'est surtout l'utilisation que tu vas en faire. Comme le précise ericd69 il y'a plein de paramètres à prendre en compte.

    Sur une base de données il est très simple par exemple de trouver tous les utilisateur inscrit avant tel date.
    C'est possible aussi avec un simple fichier mais tu vas devoir parcourir tous le fichier , parser chaque ligne pour trouver la date ...
    Le SGBD lui aura des colonnes indexées, du cache en mémoire qui vont le rendre très rapide.

    Dans le même esprit que va t'il se passer si 2 utilisateurs on besoin d'ecrire en même temps dans ton fichier ? Le SGBD lui sais gérer les accès concurrent sans tout casser

    A mon avis dès que le besoin dépasse la simple lecture de clé/valeur le sgbd peut se justifier.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [SGBD] requête sql en php pour mysql
    Par Thierry8 dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/09/2005, 22h31
  2. [SGBD] Probleme Avec Php et Mysql
    Par junior258 dans le forum Installation
    Réponses: 2
    Dernier message: 20/09/2005, 10h39
  3. Serv apach 2, php 5, mysql 4
    Par Bouki dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 24/06/2005, 15h32
  4. Travailler avec PHP / Apache / MySQL
    Par R3iTt0R dans le forum Linux
    Réponses: 22
    Dernier message: 24/06/2004, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo