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

Administration MySQL Discussion :

Index et ram


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Index et ram
    Bonjour à tous,

    Je vais être amener à travailler avec des bases (relativement) importantes , pouvant sans doute atteindre quelques millions de lignes par tables.

    Mon but est d'avoir une recherche la plus rapide sur ces grosses tables. A priori les requêtes devrait rester assez simple du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ FROM matable WHERE autrechamp = "reference";
    Comment puis je dimensionner le plus justement possible la RAM à utiliser sur le serveur pour que mysql stock ses index intégralement en RAM ?

    Quel sont les paramètres à regarder en priorité dans la config mysql ?

    Y'a t'il des particularités au niveau de l'index à utiliser sachant que la référence servant à la recherche sera très certainement unique (une chaine de 10 caractères) ?

    Plus généralement avez vous des conseils pour travailler sur des gros volumes de données ? (plus en nombre de ligne qu'en poids de base)

    merci
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  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
    Il est parfaitement stupide de vouloir stocker l'intégralité d'un index en ram !

    Avant d'émettre de telle hypothèse commencer par vous former et comprendre comment fonctionne un SGBDR, son cache et ce qu'est un index. Vous comprendrez alors ma première phrase...

    Quelques pistes :
    http://sqlpro.developpez.com/cours/quoi-indexer/
    http://blog.developpez.com/sqlpro/p9...ut_sur_l_index
    http://blog.developpez.com/sqlpro/p1...sql_sargable_c
    http://blog.developpez.com/sqlpro/p5...t_ce_que_c_est
    http://blog.developpez.com/sqlpro/p6..._oui_mais_quoi

    et plus particulièrement le chapitre de mon livre sur SQL consacré à l'indexation.

    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
    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
    C'est suite à la lecture de la doc de mysql que je m'interrogeais :

    Les blocs d'index des tables MyISAM et ISAM sont mis en buffer et partagés par tous les threads. key_buffer_size est la taille du buffer utilisé
    http://dev.mysql.com/doc/refman/5.0/...variables.html

    Donc pour moi c'est sous entendu que tant que mysql à de la place (dans la limite de key_buffer_size) il colle les index à utiliser en ram. Et donc si l'index est en ram on économise un accès disque , d'autant plus intéressant si l'index est couvrant.

    Ou alors j'ai rien compris ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    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
    Je confirme :
    1) vous avez rien compris
    2) vous avez une excuse, la doc de MySQL est farcie de conneries en particulier dans sa version française... Je me souvient d'une traduction qui disait que MySQL ne verrouille jamais !!! Je l'avais cité en exemple du crétinisme qui règne sur Internet....

    Pour mettre un index en RAM il fait lire le disque, ce qui coute cher. Quel est donc l'intérêt de mettre la totalité d'un index en RAM si vous n'utilisez pas tout l'index ? Et quand vous n'aurez plus assez de RAM parce que votre index aura grossit, que ferez vous ?

    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. Problème saturation RAM après GFIX SWEEP SET statistics INDEX
    Par korntex5 dans le forum Administration
    Réponses: 4
    Dernier message: 29/10/2013, 08h50
  2. RAM au max aprés un rebuild index
    Par slimsamfr2 dans le forum Administration
    Réponses: 8
    Dernier message: 29/03/2012, 16h38
  3. Connaitre la taille de la RAM
    Par dway dans le forum Assembleur
    Réponses: 23
    Dernier message: 15/09/2004, 10h05
  4. [Technique] Intérêt des index
    Par ddams dans le forum Décisions SGBD
    Réponses: 10
    Dernier message: 04/11/2002, 15h11
  5. Adresse des polices de caractères dans la RAM video ?
    Par Anonymous dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 27/05/2002, 17h29

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