Bonjour,
plutôt habitué à Oracle, je cherche à savoir si les tables structurées en index (ou notion équivalente) existent sous Postgresql ?
Si oui qu'elle est-elle ?
Merci de votre aide.
Version imprimable
Bonjour,
plutôt habitué à Oracle, je cherche à savoir si les tables structurées en index (ou notion équivalente) existent sous Postgresql ?
Si oui qu'elle est-elle ?
Merci de votre aide.
Qu'appelez vous tables structurées en index ? Table avec index cluster ?
A +
Bonjour,
une table structurée en index est une table ordonnées sur une valeur d'index.
En fait, il n'y a pas 2 structures : les données en désordre d'un côté dans la table et un index d'un autre. L'intégralité des données est rangée dans la table ordonnée. Cela donne une table extrêmement performante en lecture. C'est particulièrement adapté aux tables de références qui sont chargées une fois et sont ensuite seulement accédées en lecture.
Rien ne t'empêche d'insérer les lignes de la table dans l'ordre que tu veux mais se passer d'index en améliorant les performances m'étonne beaucoup !
Si tu prends par exemple la table de référence des départements français. Tu peux insérer les données dans l'ordre des numéros de département mais qu'adviendra t-il lorsuqe que tu rechercheras par le nom du département si tu n'as pas d'index ? Parcourir 100 lignes de tables, ce n'est pas la mort mais ça reste moins performant que l'index sur le nom du département je pense !
Non, il n'y a pas d'index "CLUSTERED" dans PostGreSQL.
A +
Le plus proche est la commande CLUSTER qui réorganise physiquement la table suivant l'ordre d'un index.
Mais contrairement à ce qui se passe avec les "Index Organized Tables" d'Oracle, cet ordre n'est pas préservé par la suite s'il y a des écritures dans la table, et postgres ne fera pas non plus l'économie de la double lecture table+index.
Merci de ces retours. Je vais me pencher vers cette notion de CLUSTER. Car hormis l'insertion initiale des données, les mises à jours, insertions ou suppressions d'enregistrements seront extrêmement rares et pourront justifier d'une purge de la table et d'un rechargement complet
De toutes façon, cela ne fait jamais de mal de réorganiser ses index le plus souvent possible. Pour ma part, dans toutes les boîtes dans lesquelles je fais du conseil en DBA, je préconise une reconstruction/defragmentation des index TOUTES LES NUITS !
A +