par James Stewart et Dan Cruikshank - Mis en ligne le 17/06/2002
Query Optimizer DB2 UDB for
iSeries s'appuie sur de nombreux facteurs
pour prendre la meilleure décision
lors de la mise en oeuvre d'une requête.
Ces facteurs sont les suivants : nombre de processeurs, vitesse des
processeurs, nombre de bras de
disques, quantité de mémoire, niveau
PTF et disponibilité de SMP
(Symmetric Multiprocessing) ...
Les statistiques tirées des bases de données sont l'une des principales informations dont dispose l'Optimizer. Ce sont les informations contenues dans les descriptions de fichiers base de données associées aux tables, vues, et index du système. Ces statistiques sont multiples : nombre d'enregistrements, taille des enregistrements, entrées d'index, valeurs de clés uniques, et bien d'autres. Contrairement à d'autres plates-formes où les statistiques sont générées manuellement, cette information est dynamique sur l'iSeries (et sur l'AS/400 et le System/38) et l'Optimizer a toujours pu en disposer instantanément.
On n'insistera jamais assez sur l'importance de ces données. En effet, l'excès ou le manque de statistiques de base de données peut faire une énorme différence quand on met en oeuvre et exécute une requête. Dans cet article, nous éclairons ce point grâce aux expériences vécues par deux sociétés réelles. Comme il est d'usage en la matière, on a changé les noms des sociétés pour éviter aux auteurs d'éventuels procès.