Oracle
 sql >> Base de données >  >> RDS >> Oracle

Est-ce un problème Microsoft ou Oracle ?

Cela ressemble à un problème Oracle. Bien que l'erreur résulte directement des paramètres de délai d'attente ODBC, cette requête ne devrait pas prendre 20 minutes pour s'exécuter.

La première chose à essayer lorsque vous rencontrez un problème de performances du dictionnaire de données est de collecter des statistiques sur le dictionnaire de données. Cela fournit à Oracle plus d'informations sur la taille des objets, ce qui lui permet de prendre de meilleures décisions sur la manière de joindre les tables.

begin
    dbms_stats.gather_fixed_objects_stats;
    dbms_stats.gather_dictionary_stats;
end;
/

Si cela ne fonctionne pas, vous souhaiterez réduire la requête à la plus petite taille possible qui pose toujours le problème. Il y a trois requêtes UNION ALL 'd ensemble, il y a des chances qu'un seul d'entre eux soit lent. Ensuite, nous pouvons travailler sur l'optimisation de cette requête.

(Mais le réglage d'une requête est un processus qui nécessite beaucoup d'allers-retours et qui est difficile à faire sur Internet. Vous voudrez peut-être essayer de trouver un administrateur de base de données local qui pourra vous aider. Puisque vous utilisez Express Edition , vous ne pouvez pas contacter le support Oracle pour obtenir de l'aide.)