Idéalement, obtenir le plan complet de requête à l'aide DBMS_XPLAN.DISPLAY_CURSOR en utilisant la sql_id et child_cursor_id de v $ sql. A défaut (par exemple, sur les anciennes versions), essayez v $ sql_plan et incluez les prédicats de filtre et d'accès. EXPLAIN PLAN est très bien s'il montre réellement le plan qui a été utilisé.
Version DB et édition (Express/Standard/Entreprise). Peut-être l'OS aussi. SELECT * FROM V $ VERSION
Si vous avez des paramètres de base de données non standard, il est utile de savoir (surtout tout ce qui concerne l'optimiseur). select * from v $ parameter où rownum < 5 et isdefault! = 'TRUE'; * Si vous faites de contexte de nom de trace 10053 pour toujours, niveau 1 'événements cette session alter et analyser une requête, il y aura un fichier journal qui inclura tous les paramètres utilisés lors de l'optimisation d'une requête *
Les tailles de table et les distributions de colonnes du monde réel (par exemple, il s'agit d'une table de millions de lignes, avec 30% de lignes étant «rouges», etc.). Et les statistiques pertinentes sur USER_TABLES, USER_TAB_COLUMNS.
De combien de temps il a l'air, plus toutes les statistiques SQL disponibles (résultats cohérents, lectures physiques) à partir de v $ sql.
Aussi, qui pensez-vous qu'il devrait être en mesure de courir plus vite. Pensez-vous qu'il existe un meilleur plan ou que vous ne faites que croiser les doigts?
Je dois poser la question: pourquoi est-ce un wiki communautaire? –
Parce que je veux vraiment que cette question existe afin que nous puissions l'indiquer quand quelqu'un publie un message "Pourquoi cette requête est-elle lente?" question sans fournir d'informations utiles sur les tables implique, les indices ou waht qu'ils essaient d'atteindre. –
Une méta-question ... Sûrement que ce n'est pas lié à la programmation? : P –