Bonjour,
petites questions sur les index et leurs fonctionnements.
J'ai une table avec une cinquantaine de colonnes, et 3 colonnes en primary key.
La répartition par clé est clé1 : 2 valeurs distinctes, clé2 : 300000 valeurs distinctes, clé3 : 60000 valeurs distinctes et en tout 1500000 rangs.
J'organise mon index clé2 asc , clé3 asc , clé1 asc.
A priori pour un accès clé1 = a and clé2 = b and clé3 = c, c'est le meilleur index possible (d'après les recommandations firstkeycard/fullkeycard doit être le plus grand possible).
- Sachant que je ne peux avoir que des accès avec clé1 = a and clé2 = b puis clé3 = c ou clé3 >= c ou clé3 <= c, ne faudrait il pas plutôt faire un index clé2, clé1, clé3 ?
- Sachant que mon applicatif affiche toujours à mes occurrences suivant des curseurs order by clé1, clé2, clé3 optimize for 1 row, avec un where sur les 3 clés ; avoir un index clé2, clé3, clé1 est il finalement plus pénalisant que dans l'ordre clé1, clé2, clé3 pour obtenir la prochaine clé ?
- Faut il créer un index descending pour la pagination arrière ? Je vois partout ajouter REVERSE SCAN pour l'index, mais à priori, ça n'existe pas sur DB2 z/OS 9 .
Partager