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

MySQL Discussion :

Ressources optimisations requêtes


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut Ressources optimisations requêtes
    Bonjour,

    Voila je trouve que sur le net les ressources tuto ou autres sur mysql c'est pas très fournis.

    Est ce que vous pouvez me donner des liens de tuto ou autres sur de l’optimisation des requêtes complexes, ou savoir bien placer ses index, quel type de table mettre (InnoDb ou pas) etc etc.

    Merci à vous

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Ce n'est pas étonnant. MySQL étant l'un des plus mauvais SGBD (non relationnel soit dit en passant) en terme de performances, il est difficile de trouver des écrits sur comment obtenir des performances avec MySQL car la plupart des professionnels soit l'évite soit passe à un vrai SGBDR !

    Un petit exemple de Benchmark : http://blog.developpez.com/sqlpro/p9...alles_en_sql_1

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Oui je suis confronté à cela mais c'est vraiment une cause perdu ou il y a quand même des moyen fiable d'y arriver ? Car je n'ai pas le choix de travailler sur ce SGBD il faut que je l'apprivoise du mieux possible surtout que j'ai travailler pendant 5 ans sous sqlServer donc ca m'a fait un peu un choque quand je me suis aperçu des performances!! ?

  4. #4
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 900
    Par défaut
    Salut Bugland.

    Citation Envoyé par bugland
    Voila je trouve que sur le net les ressources tuto ou autres sur mysql c'est pas très fournis.
    Tu ne trouves sur le net que les sujets qui sont faciles à développer, voire ceux qui sont compréhensible par le plus grand nombre.

    Citation Envoyé par bugland
    Est ce que vous pouvez me donner des liens de tuto ou autres sur de l’optimisation des requêtes complexes, ou savoir bien placer ses index, quel type de table mettre (InnoDb ou pas) etc etc.
    Désolé, mais je ne connais pas de liens intéressants et traitant ce sujet, qui par ailleurs est fort compliqué à mettre en oeuvre.
    Je ne parle pas bien sûr de la création des tables, des indexes et de sa réorganisation, mais d'une part du paramétrage du fichier my.ini et d'autre part de la mise en oeuvre de ces tests pour améliorer ces performances.

    Il doit exister de bons bouquins dans le commerce traitant ce sujet, mais je n'en connais aucun sur MySql.
    Je suis personnellement aussi intéressé par ce sujet.

    @+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Quelqu'un m'a donné en conseil cette référence de livre qui à l'air pas mal "Audit et Optimisation MySQL 5"
    de Pascal Borghino, Olivier Dasini et Arnaud Gadal
    Chez Eyrolles.

    Par contre il a l'air beaucoup pus orienté administrateur système mais il apporte pas mal de chose aussi pour les développeurs donc je sais pas si cela vaut le coups de l'acheter. Mais c'est fou qu'il y est quasiment rien sur le web.

    J'ai aussi trouvé un lien mais c'est une introduction à l'optimisation.

    Et celui là mais bon le partitionnement je suis pas forcément convaincu.
    http://krierjon.developpez.com/mysql/partitionnement/

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Il n'y a rien car MySQL n'a aucun outil intégré pour faire quelques chose de propre et d'intéressant au niveau admin et/ou perf....

    Bref, bite et couteau, voire redéveloppent du noyau ! C'est de l'open source (en partie...) alors faites vous plaisir les, gars, mettez les main dans le cambouis etr redéveloppez le zinzin ! Ca vous fera les pieds !!!

    Quand on prend un outil de m... il ne faut pas s'attendre à autre chose que de la m....

    Récemment voici le conseil que j'ai donné à une grosse boite qui cherche désespéramment depuis de nombreux mois un DBA MySQL
    "
    MySQL n'étant pas un SGBD Relationnel (ce que je démontre dans mon cours, celui là même que j'ai donné) les gens s'en servent pour persister de la merde mais pas pour faire du relationnel. Du coup les aspects "administration" sont ignorés et si le serveur crash on s'en fout royalement.
    Bref si l'on cantonne MySQL (que personnellement j’appelle MySQ...merde) à ce qu'il sait faire, c'est à dire pas grand chose... alors pas besoin de DBA !
    Par exemple pour faire des CRM ou de petits sites web dynamique perso OK.
    Pour des besoins professionnels c'est proprement stupide compte tenu du nombre exorbitant de bugs et de fonctionnalités non encore implémentées (il n'en est même pas au niveau du SQL à la norme SQL 2 datant de 1992 alors que la concurrence en est à la norme 2011 !!!)
    À me lire : http://blog.developpez.com/sqlpro/p9...oudre_aux_yeux

    De plus il n'existe aucun outil valable pour l'administrer. Et certaines tâches d'admin requiert des logiciels externes très couteux Le pire étant l'incapacité de MySQL de faire de sauvegardes à chaud CONSISTANTES...
    Ce qui veut dire que si tu utilises les sauvegardes MySQL, alors, en cas de restauration, une partie des données est perdue et des incohérences apparaissent !!!

    Dès lors, pour trouver un bon DBA MySQL il faut se lever de bonne heure :
    1) soit le mec à développé lui même tous les outils d'admin et comme ce sont ses propres outils il le monnayera dans son salaire (mon ami XXX prenait 2500 € HT par jour pour des presta MySQL chez XXX entre autre... ils ont vite compris et passé à autre chose !)
    2) soit le mec est nul et il servira à rien...

    D’où le problème que tous les employeurs ont... Un bon DBA MySQL ça n'existe pas, car à terme ils foutent tous le camps sur un autre système nettement plus fiable...

    Bref, le meilleur conseil que je puis vos donner est :
    1) abandonner MySQL pour quelque chose de professionnel et de fiable
    PostGreSQL pour les applicatifs ne fonctionnant pas 24/24 et 7/7, et SQL Server, IBM DB 2 ou Oracle pour les autres.
    2) si un éditeur vous impose du MySQL, alors lui imposer qu'il s'occupe/héberge/prenne la responsabilité en cas de défaillance et l'administre !

    PS 2 : logiciel de sauvegarde à chaud de MySQL :
    Percona : 5 000 $ par serveur
    https://www.percona.com/software/percona-xtrabackup
    TOKUTEK : 2 500 $ par serveur / par an
    http://www.tokutek.com/wp-content/up...price-list.pdf

    "

    BREF... Si il y a des entreprises assez connes pour utiliser mySQL en croyant que c'est un outil professionnel fuyez les !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Par défaut
    Même si je peux pas changer de SGBD par curiosité est ce que PostGreSQL serait une bonne alternative vous dites que c'est pas adapté pour tourner 24h sur 24h mais les sites tournent tous le temps, même si la nuit il y a très peu d'activité.

  8. #8
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    sur de l’optimisation des requêtes complexes, ou savoir bien placer ses index
    Des conseils de SQLPro peuvent s'appliquer aussi à MySQL :
    http://sqlpro.developpez.com/cours/quoi-indexer/
    http://sqlpro.developpez.com/cours/optimiser/

    quel type de table mettre (InnoDb ou pas)
    Si on veut des données incohérentes, on peut jouer avec MyISAM qui ne connaît pas les contraintes de clés étrangères. Si on veut un truc un peu plus sérieux et mettre un minimum d'intégrité référentielle, alors on utilise InnoDB.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par bugland Voir le message
    Même si je peux pas changer de SGBD par curiosité est ce que PostGreSQL serait une bonne alternative vous dites que c'est pas adapté pour tourner 24h sur 24h mais les sites tournent tous le temps, même si la nuit il y a très peu d'activité.
    Faux... par exemple le bon coin qui utilise PostGreSQL est obligé d'arrêter le serveur PG pour faire la maintenance pendant plusieurs heures la nuit.

    Le site n'est pas, pour autant, arrêté, mais la publication des annonces n'est pas possible.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. optimisation requête-regroupement info
    Par mariobedard dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/09/2005, 15h10
  2. Besoin d'aide pour optimiser requête SQL
    Par Keuf95 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 06/09/2005, 16h02
  3. Optimiser requête utilisant NOT IN
    Par Neilos dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/08/2005, 14h24
  4. optimisation requête
    Par alex2205 dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 09/02/2005, 14h15
  5. optimisation requête SQL!!! help!!
    Par anathem62 dans le forum Requêtes
    Réponses: 2
    Dernier message: 24/05/2004, 16h26

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