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

Langage SQL Discussion :

optimisation ou changement de modèle?


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    61
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 61
    Points : 36
    Points
    36
    Par défaut optimisation ou changement de modèle?
    Bonjour,

    J'ai une table avec 2 colonnes : attr_id et value.
    attr_id est indexé mais pas value.
    Cette table ne peut pas être modifiée.

    Il est nécessaire pour l'application de pouvoir faire une recherche sur 'value' tout en connaissant attr_id.

    Pour l'instant la requete est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from nc_params where attr_id = 2091641841013994123 and value like '%0155%';
    Probleme: le nombre de valeurs pour un attribut donné est appelé à augmenter fortement (1 Million). Celà va t'il faire beaucoup ralentir ma base?

    Est t'il possible d'optimiser ma requete?
    Autre idée : faire un trigger sur ma table pour remplir une copie avec, pour elle, les deux colonnes indexées.

    Merci de vos conseils

  2. #2
    cdu
    cdu est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 196
    Points : 222
    Points
    222
    Par défaut
    bonjour,
    je suis pas expert en la matière, mais pour moi l'éventuel problème de performance viendra du like '%0155%' il faut que tu essqye de mieux définir ce critére, et éventuellement l'extraire au préalable dans une colonne supplémentaire.
    ensuite, il sera possible d'utiliser un index efficace compose de attr_id et de la colonne extraite. Je laisserai ce pendant des personnes plus éclairé discuter de la pertinence d'un tel index en fonction de la répartition des données ( les tests c'est bien aussi )

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 875
    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 : 21 875
    Points : 53 050
    Points
    53 050
    Billets dans le blog
    6
    Par défaut
    Vous pouvez mettre tous les index possibles sur la colonne value, à partir du moment ou vous faîtes un LIKE en commençant par un joker, le seul moyen de retrouver les données correspondantes est de lire toutes les lignes de la table.
    Il existe cependant un moyen d'optimiser cela en modifiant le modèle afin d'ajouter des index "rotatifs".

    A +

  4. #4
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    61
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    Merci de vos réponses.
    Par contre pourriez vous m'expliquer ce qu'est un index rotatif ou me donner un lien vers un cours parce que je trouve rien sur le sujet.

Discussions similaires

  1. Extraction et optimisation esthétique d'un modèle simulink
    Par bendesarts dans le forum Simulink
    Réponses: 2
    Dernier message: 23/11/2014, 21h18
  2. Réponses: 4
    Dernier message: 07/11/2014, 13h48
  3. Optimisation affichage changement onglet
    Par mactwist69 dans le forum VB.NET
    Réponses: 6
    Dernier message: 18/08/2010, 15h59
  4. [1.x] Changement de modèle avec symfony
    Par blueyes666 dans le forum Symfony
    Réponses: 3
    Dernier message: 24/05/2009, 20h28
  5. [servlet] optimisation ou changement d'idée ?
    Par MatMeuh dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 26/10/2004, 13h34

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