je me demande si de mettre autant d'index que de possibilité est bon
réélement pour les perfs ou si SQL peut se tromper du coup en prenant
l'index pas optimal ?
est-ce que
COL1
COL2
COL3
ne serait pas suffisant pour couvrir tous les cas ?
en bref que vaut'il mieux choisir comme methode d'index ?
Merci par avance.
Donc en gros pour couvrir un maximum de cas pour un maximum de developpers qui vont pas forcement tenir compte de tout quand ils ecrivent leurs requetes !
le mieux c'est d'indexer les colonnes les plus utilisées seules ?
Absolument pas !
Il convient de créer des index couvrant en fonction des requêtes : 1) qui sont les plus frqéquentes 2) qui consomment le plus de temps
Autrement dit : auditer le serveur et agréger les résultats de temps d'exécution par cumul des temps de chaque requêtes identiques aux paramètres des clauses WHERE et HAVING près.
A +
Exemple Col1 Col2 Col3
séparement parce que elle peuvent etre appellée seule et si j'ai bien compris seule la premiere colonne d'un index multicolonne est gerée ? 2 comment cela se comporte t'il pour un where qui appelle la col1 et col3 si ils sont indexés separement ?
Merci !! on trouve jamais ces astuces la ?
"SQLpro [MVP]" a écrit dans le message de news:
1) dans les index multicolonnes, les données sont concaténées. 2) les statistiques ne sont collectées que pour la première colonne
Conclusion : 1) placez la colonne la plus sélective en premier 2) n'utilisez pas de recherche directe sur les colonnes interne de
l'index.
3) réordonnez vos requêtes en tenant compte de 1 et 2
je me demande si de mettre autant d'index que de possibilité est bon réélement pour les perfs ou si SQL peut se tromper du coup en prenant l'index pas optimal ?
est-ce que COL1 COL2 COL3
ne serait pas suffisant pour couvrir tous les cas ?
en bref que vaut'il mieux choisir comme methode d'index ? Merci par avance.
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Christophe a écrit :
Donc en gros pour couvrir un maximum de cas
pour un maximum de developpers qui vont pas forcement tenir compte de tout
quand ils ecrivent leurs requetes !
le mieux c'est d'indexer les colonnes les plus utilisées seules ?
Absolument pas !
Il convient de créer des index couvrant en fonction des requêtes :
1) qui sont les plus frqéquentes
2) qui consomment le plus de temps
Autrement dit : auditer le serveur et agréger les résultats de temps
d'exécution par cumul des temps de chaque requêtes identiques aux
paramètres des clauses WHERE et HAVING près.
A +
Exemple
Col1
Col2
Col3
séparement parce que elle peuvent etre appellée seule et si j'ai bien
compris seule la premiere colonne d'un index multicolonne est gerée ?
2 comment cela se comporte t'il pour un where qui appelle la col1 et col3 si
ils sont indexés separement ?
Merci !!
on trouve jamais ces astuces la ?
"SQLpro [MVP]" <brouardf@club-internet.fr> a écrit dans le message de
news:ewvBMfujGHA.836@TK2MSFTNGP02.phx.gbl...
1) dans les index multicolonnes, les données sont concaténées.
2) les statistiques ne sont collectées que pour la première colonne
Conclusion :
1) placez la colonne la plus sélective en premier
2) n'utilisez pas de recherche directe sur les colonnes interne de
l'index.
3) réordonnez vos requêtes en tenant compte de 1 et 2
je me demande si de mettre autant d'index que de possibilité est bon
réélement pour les perfs ou si SQL peut se tromper du coup en prenant
l'index pas optimal ?
est-ce que
COL1
COL2
COL3
ne serait pas suffisant pour couvrir tous les cas ?
en bref que vaut'il mieux choisir comme methode d'index ?
Merci par avance.
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Donc en gros pour couvrir un maximum de cas pour un maximum de developpers qui vont pas forcement tenir compte de tout quand ils ecrivent leurs requetes !
le mieux c'est d'indexer les colonnes les plus utilisées seules ?
Absolument pas !
Il convient de créer des index couvrant en fonction des requêtes : 1) qui sont les plus frqéquentes 2) qui consomment le plus de temps
Autrement dit : auditer le serveur et agréger les résultats de temps d'exécution par cumul des temps de chaque requêtes identiques aux paramètres des clauses WHERE et HAVING près.
A +
Exemple Col1 Col2 Col3
séparement parce que elle peuvent etre appellée seule et si j'ai bien compris seule la premiere colonne d'un index multicolonne est gerée ? 2 comment cela se comporte t'il pour un where qui appelle la col1 et col3 si ils sont indexés separement ?
Merci !! on trouve jamais ces astuces la ?
"SQLpro [MVP]" a écrit dans le message de news:
1) dans les index multicolonnes, les données sont concaténées. 2) les statistiques ne sont collectées que pour la première colonne
Conclusion : 1) placez la colonne la plus sélective en premier 2) n'utilisez pas de recherche directe sur les colonnes interne de
l'index.
3) réordonnez vos requêtes en tenant compte de 1 et 2
je me demande si de mettre autant d'index que de possibilité est bon réélement pour les perfs ou si SQL peut se tromper du coup en prenant l'index pas optimal ?
est-ce que COL1 COL2 COL3
ne serait pas suffisant pour couvrir tous les cas ?
en bref que vaut'il mieux choisir comme methode d'index ? Merci par avance.
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************