19 janvier 2019

Générer la trace 10053 du CBO : quelques pièges à éviter

  IntroductionCet article ne décrit pas comment lire la trace 10053, d'autres sites ont déjà traité le sujet. En revanche la génération de cette trace révèle quelques pièges et c'est de cela dont je veux parler puisque ces sites font en général l'impasse dessus.  Points d'attentionAucun. Base de testsN'importe quelle base Oracle. Exemples============================================================================================Générer la trace : rôle DBA suffisant ou user SYS... [Lire la suite]
Posté par David DBA à 11:08 - - Permalien [#]
Tags : , ,

19 novembre 2017

Oracle peut utiliser un index avec LIKE '%texte%' : idées reçues sur les fonctions et les index

IntroductionUne idée courante sous Oracle est qu'une fonction utilisée sur un champ indexé empêche l'utilisation de cet index. Nous allons prouver que c'est plus complexe que cela et que même avec le fameux LIKE '%texte%' ou la sélection de 100% des données, Oracle peut utiliser un index. Il faut néanmoins distinguer comment Oracle traite les fonctions de groupes telles que MIN, MAX, COUNT des fonctions comme SUBSTR, UPPER. Il faut aussi tenir compte si le SELECT se fait uniquement sur la colonne indexée ou non, que la fonction est... [Lire la suite]
Posté par David DBA à 18:03 - - Permalien [#]
Tags :
08 juin 2017

Plan d'exécution : ce n'est pas la ligne la plus indentée qui est exécutée en premier

IntroductionUn plan d'exécution Oracle peut rapidement devenir incompréhensible dès qu'il comporte des dizaines de lignes. On peut s'aider de Google ou de livres d'administration Oracle pour le décrypter mais, curieusement, même les DBA les plus connus ne sont pas d'accord sur l'ordre dans lequel Oracle exécute les différentes opérations de ce plan! Pour rappel, il est fondamental de comprendre l'exécution de ce plan pour tuner un ordre SQL! Si on ne sait pas quelle est la première opération exécutée, il est impossible de mettre en... [Lire la suite]
Posté par David DBA à 21:33 - - Permalien [#]
Tags : ,