Indexation lors d'une migration d'Oracle Database vers PostgreSQL
Posté : jeu. 22 nov. 2018 11:31
Merci à Chantal pour sa question :
Lors de notre migration vers PostgreSQL, sera-t-il nécessaire de revoir tous les index(s) créés aujourd’hui sur Oracle ?
Réponse :
PostgreSQL présente bien plus de méthodes d'indexation qu'Oracle Database (BLOOM, HASH, BRIN etc.) mais l'index le plus courant reste le B-Tree.
Dans un premier temps, je suggère de recréer avec PostgreSQL les index B-Tree utilisés avec Oracle Database. C'est une bonne base de travail.
En théorie, les optimiseurs d’Oracle et PostgreSQL fonctionnent de manière assez proche en ce qui concerne le choix de passage par un index, cf https://pgphil.ovh/correlation_10_devel_01.php
Ensuite, lors de tests et en préproduction, il est nécessaire d'analyser les performances. Dans ce cadre, il faut déterminer s’il convient d’ajouter des index ou de les modifier. Attention par exemple aux index créés sur les colonnes de type texte pour les filtres LIKE : cf https://pgphil.ovh/chaines94.php
Enfin, choisir de retirer un index est toujours compliqué. C'est malgré tout possible après une période d'évaluation étendue. Je prépare une page sur le sujet.
Lors de notre migration vers PostgreSQL, sera-t-il nécessaire de revoir tous les index(s) créés aujourd’hui sur Oracle ?
Réponse :
PostgreSQL présente bien plus de méthodes d'indexation qu'Oracle Database (BLOOM, HASH, BRIN etc.) mais l'index le plus courant reste le B-Tree.
Dans un premier temps, je suggère de recréer avec PostgreSQL les index B-Tree utilisés avec Oracle Database. C'est une bonne base de travail.
En théorie, les optimiseurs d’Oracle et PostgreSQL fonctionnent de manière assez proche en ce qui concerne le choix de passage par un index, cf https://pgphil.ovh/correlation_10_devel_01.php
Ensuite, lors de tests et en préproduction, il est nécessaire d'analyser les performances. Dans ce cadre, il faut déterminer s’il convient d’ajouter des index ou de les modifier. Attention par exemple aux index créés sur les colonnes de type texte pour les filtres LIKE : cf https://pgphil.ovh/chaines94.php
Enfin, choisir de retirer un index est toujours compliqué. C'est malgré tout possible après une période d'évaluation étendue. Je prépare une page sur le sujet.