|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 17 ![]() |
Bonjour,
J’ai juste une petite question sur la création d’index : Une fois un index créé, comment on peut l’exploiter ? Il suffit de faire une lecture sur la table pour que l’index soit reconnu et exploité ? Ou il faut lire la colonne indexée et lui indiquer qu’il existe bien un index sur cette colonne ? merci beaucoup |
|
|
00
|
|
|
#2 |
![]() ![]() |
En principe, le SGBD se débrouille tout seul pour utiliser les index nécessaires à l'optimisation de l'exécution de la requête. Dans certains cas, et peut-être pas dans tous les SGBD, tu peux forcer l'utilisation d'un index plutôt que celui qu'utiliserait "naturellement" le SGBD.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 17 ![]() |
merci pour ta réponse,
J’ai vu que l’index sera utilisé sauf si la colonne indexée est utilisée dans la clause where. Comment peut-on forcer l’utilisation d’un autre index que celui qu’utiliserait le SGBD ? |
|
|
00
|
|
|
#4 | ||||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
C'est le SGBDR qui décide en fonction de nombreux éléments d'information dont il dispose : statistiques de distribution des données, contraintes, heuristique de la requête... Par exemple un index créé sur une colonne SEXE d'une table d'employée d'une entreprise minière ne sera jamais utilisé si l'on recherches des hommes (car il sont généralement très majoritaires).
Or faire une recherche dans un index est beaucoup plus couteux que de lire séquentiellement des données, car l'algorithme de parcours des données est plus complexe. Citation:
Citation:
Citation:
SELECT, WHERE, GROUP BY, HAVING et ORDER BY, mais aussi dans bien d'autres cas.... Citation:
Code :
SELECT * FROM Matable WITH (INDEX (MonIndex)) Lisez ce que j'ai écrit sur le sujet : http://sqlpro.developpez.com/cours/quoi-indexer/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||||
|
30
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 17 ![]() |
ta réponse est vraiment très bien ...elle m'encourage pour bien commencer ma semaine...
merci le Pro du SQL
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com