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 :

Question vitesse, MySQL vs Switch [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Par défaut Question vitesse, MySQL vs Switch
    Bonjour

    Dans l'idée de créer un CMS sous forme de site web), pour afficher une page X on doit charger différents modules dans les zones appropriées. Pour cela je me base sur trois choses:
    • l'URL (évidement)
    • le status de l'utilisateur (admin, membre, invite etc .)
    • l'event (un joker pour afficher différemment selon le bon vouloir de l'administrateur).


    Bref on a donc une Page = une liste de Zone-Module dépendante de ces 3 paramètres.

    L'idée classique est de faire un simple switch ultra long, qui va s'allonger à chaque nouvelle page, nouveau type de membre etc.

    L'idée était aussi de créer une table SQL (MySQL InnoDB) pour gérer tous ça (voire 2, je ne suis pas encore sûr).

    Sachant qu'on est connecté à la BDD d'office, j'aimerais savoir laquelle de ces deux méthodes sera la plus performante et/ou la plus évolutive.

    P.S: s'il vous plaît, ne dites pas "ça dépend" sans préciser (précisément) de quoi ça dépend, merci.

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Ni l'un ni l'autre, il faut que tu mettes en place un design logiciel qui réponde à ce besoin. Je te recommande le patron MVC: http://julien-pauli.developpez.com/t...vc-controleur/

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Par défaut
    Il est deja en MVC et la c'est le front controller qui doit s'en charger, mais je vois pas en quoi sa influe sur le problemme.

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Eh bien c'est normalement le rôle du routeur de permettre l'accès aux pages selon ces 3 paramètres. Les pages n'ont pas besoin d'être physiques, un seul contrôleur peut se charger de plusieurs pages et différencier le contenu selon ces 3 fameux paramètres en choisissant les données à importer de MySQL par exemple.

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Par défaut
    Voilà, la question est ou stoquer ces donnes, de manière classique, on fait un switch énorme avec toutes les possibilités, je voudrais essayer l'idee de les stoquer avec MySql, je demande justement lequel de ces deux methode était la plus rapide.
    D'après mes tests le Switch se révèlent plus rapides, mais j'aimerais avoir confirmation (ou infirmation^^).

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Pour répondre à la question: MySQL sera toujours plus lent qu'un bon gros SWITCH.

    Mais c'est en réalité une fausse question que tu poses là, un CMS à pour vocation de travailler avec une quantité illimitée de données sans jamais toucher au code source de l'application (ce qui serait le cas avec un switch vu que tu serais obligé de définir les données "en dur" dans le code PHP). Il est question ici de flexibilité, non de performances.

    Tu n'est par ailleurs pas obligé de choisir MySQL, il existe d'autres SGBD comme SQLite, PostgreSQL, MongoDB etc. et d'autres moyens de stocker des données comme XML, JSON, INI, Redis, Memcached...

    A toi de trouver ce qui correspond le mieux à ton besoin: s'il s'agit d'extraire des bouts de contenu variants peu, XML ou JSON seront tout à fait apte à endosser ce rôle. En revanche, si les données sont relationnelles (comme par exemple un article et ses commentaires) alors une base de données sera plus appropriée.

  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
    Un peu de code pourrait peut être aider à y voir plus clair.
    Avec un MVC bien structuré tu n'as pas besoin de base de données ni de gros switch comme tu semble vouloir le faire.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Enfin, s'il veut vraiment se construire son CMS maison, il vaut mieux pour lui qu'il ait un moyen de construire dynamiquement ses pages. Le MVC statique à ses limites

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Par défaut
    Le code heuu... il y en a pas, etand donner qu'il n'y a ni bug ni problème concret ^^

    Après une batterie de tests assez précise j'ai les résultats, ce sont les valeurs moyennes de 100 tests successifs.
    0.000030994415283203 secondes => 100 elseif a 2 condition
    0.000015974044799805 secondes => 100 switch a 2 condition
    0.00045585632324219 secondes => table de 100 entrer avec 2 condition
    0.0023970603942871 secondes => recherche de fichier dans un dossier a 100 fichier (style zend).

    avec 1000 cela donne un resultat similaire.

    Bon bin la différence n'est aps aussi catastrophique que je pensais, et puis comme tu l'as dit, utilise une bdd offre un gros a la maintenance, le truc c'est que j'ai la trouille de créer un bon cms mais trop lent donc j'essaye de perdre un minimum de temps dans chaque opération, surtout si elle est exécuté à chaque requete.

  10. #10
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Ok maintenant reste à se poser la question de la pertinence de la réalisation d'un tel projet vu qu'il existe plus de 350 CMS écrits en PHP à l'heure actuelle.

    Pourquoi ne pas s'orienter vers un CMS existant ?

  11. #11
    Membre habitué
    Inscrit en
    Janvier 2012
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 12
    Par défaut
    J'étudie l'informatique dans le meilleur universiter d'informatique en russie, si je suis incapable de créer un CMS, je pourrais difficilement dire que je me Considérer comme connaisseur dans les technologies web.

    Sinon autant considérer quelqu'un utilisant Publisher comme un webmaster.

  12. #12
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Ok alors bon courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. question sur mysql et sql server
    Par DJERDJAR YACINE dans le forum Outils
    Réponses: 1
    Dernier message: 19/07/2007, 08h54
  2. question de mysql
    Par etplus dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/03/2007, 00h35
  3. Question Division Mysql
    Par Joe Le Mort dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 18/12/2006, 13h13
  4. Diverses questions concernant mysql et php
    Par chnain dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2006, 18h42
  5. [Question] Php - MySQL
    Par Badaboumpanpan dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/06/2006, 17h55

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