> Tech > Comprendre les index builds temporaires

Comprendre les index builds temporaires

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

L'Optimizer construira un index temporaire uniquement pour satisfaire les Join, Grouping et/ou Ordering spécifiés dans la requête. Il ne construira jamais un index à  seule fin de sélectionner des données. Pour construire un index, DB2 doit traiter tous les enregistrements de la table. Il serait moins coûteux de sélectionner simplement

Comprendre les index builds temporaires

les enregistrements au fur et à  mesure que la table est balayée.

DB2 peut créer un index à  partir
d’un index existant. C’est moins coûteux
que de traiter toute la table physique.
Toutefois, dans ce cas, les index
builds temporaires ne conviennent pas
pour des transactions fréquentes.

Il faut bien voir que les index builds
sont de type parallèle. Si SMP est installé
et activé, l’Optimizer peut se pencher
vers les index builds pour bénéficier
de multiples tâches. Mais ce choix
peut se traduire par une excessive utilisation
des ressources de CPU et par
un débit réduit, comme c’était le cas
ici.

Pendant l’opération d’optimisation,
l’Optimizer établit un coût par défaut
pour mettre en oeuvre la requête
puis essaie de trouver une méthode
moins chère en analysant les index disponibles.
L’Optimizer choisit des index
ayant des colonnes appartenant aux
critères locaux de sélection, de jointure,
de groupage ou de classement
précisés dans la requête. La sélection
locale fait référence aux prédicats de
sélection contenus dans la clause
WHERE qui ne sont pas utilisés à  des
fins de jointure.

Si l’Optimizer ne trouve pas d’index
satisfaisant aux critères de sélection,
il peut en suggérer un pour des
raisons de performances. Les colonnes
suggérées pour l’index sont fondées
sur la sélection seulement et ne satisfont
pas aux exigences de jointure, de
groupage, ou de classement. Ainsi,
l’instruction SQL SELECT dans l’instruction
DECLARE CURSOR de la figure
4 peut aboutir à  un index suggéré
pour les colonnes YEAR et MONTH
seulement. La colonne QUANTITY ne
figurerait pas dans la liste des champs
clé suggérés.

En créant l’advised index, on aide
l’Optimizer de deux manières :

1. L’index fournit des statistiques utiles
pour l’estimation des coûts.

2. L’index peut être utilisé pour mettre
en oeuvre la requête.

Il peut n’y avoir aucune indication
qu’un index a été déjà  utilisé dans le
seul but de fournir des statistiques.
C’est important à  considérer avant de
supprimer un index sur le critère de sa
dernière date d’utilisation.

Pour mettre en oeuvre la requête
dans le programme SQL_SERVER,
l’Optimizer a utilisé un index existant
pour sélectionner les enregistrements
qui satisfont à  la sélection locale (YEAR
= 1998 et MONTH = 6). Il a ensuite
utilisé ces enregistrements sélectionnés
pour construire un index temporaire
satisfaisant le classement (QUANTITY
DESC).

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010