J'ai un programme Java exécutant 3 sqls séparés avec une même vue en ligne - il faut environ 20 minutes chaque fois pour construire la vue en ligne lorsque les sqls sont exécutées - existe-t-il un moyen de le mettre en cache ou de le réutiliser? - essayer d'éviter une solution de table temporaire car elle doit être déléguée à un plsql car le programme java n'a pas le droit de créer des objets de schéma. ps: oracle 10gles vues en ligne peuvent être utilisées pour les instructions java au lieu de créer une table temporaire
Répondre
Oracle fera de son mieux pour mettre en cache le résultat si vous le laissez. Mais vous pouvez toujours avoir une table temporaire si vous le voulez vraiment, et c'est assez petit. Si vous utilisez un paquet, vous pouvez créer la table temporaire la première fois qu'il est appelé et utiliser les données en cache les deux autres fois - essayez les variables du paquet et voyez si cela fait ce que vous voulez.
Les tables temporaires Oracle ne doivent pas être créées à la volée. Docs here. Si vous utilisez une table temporaire pour cela, créez-la une fois et utilisez-la dans la procédure.
Une autre option peut être une vue matérialisée. Docs here. La vue matérialisée serait soit rafraîchie sur demande ou sur un calendrier.
Avec les informations données, il n'est pas possible de vous dire lequel correspondrait le mieux à votre situation.
- 1. Ruby - pourquoi les instructions et/ou les instructions ne peuvent pas figurer sur une ligne distincte?
- 2. Les variables WebSphere peuvent-elles être utilisées dans extendedDocumentRoot?
- 3. Où les instructions utilisées dans SQL
- 4. Des annotations peuvent-elles être utilisées pour l'injection de code?
- 5. Quelles colonnes peuvent être utilisées dans la clause OUTPUT INTO?
- 6. Fenêtre Propriétés des composants - seules trois choses peuvent être vues au lieu de 20+
- 7. Les applications Java SE peuvent être regroupées
- 8. Les articles d'un JList peuvent être au format HTML
- 9. Les transformations Web.config peuvent-elles être utilisées avec les fichiers App.config?
- 10. Extensions Python qui peuvent être utilisées dans toutes les variétés de python (jython/IronPython/etc)
- 11. Les classes de proxy .NET Web Service peuvent-elles être utilisées en tant que singletons?
- 12. En utilisant log4net pour créer des fichiers journaux qui peuvent être vues avec SvcTraceViewer.exe
- 13. Les fonctions virtuelles peuvent-elles être utilisées dans les valeurs de retour?
- 14. en utilisant une table temporaire avec NHibernate
- 15. Est-ce que les lignes directives du préprocesseur peuvent être utilisées en C# comme en C?
- 16. Les suites peuvent-elles être utilisées en remplacement de la récursivité?
- 17. Quels SDK peuvent être utilisés pour créer une application de cartes hors ligne pour iPad/iPhone?
- 18. SQL créer une table « mapping » temporaire dans une instruction select
- 19. Quelles bibliothèques Java peuvent être utilisées pour générer du code KML?
- 20. comment créer une règle pour les commentaires java dans pmd?
- 21. MySQL: structure de table pour les "vues" d'un utilisateur
- 22. Limites des données de base, les données de base peuvent-elles être utilisées en tant que technologie Serverside?
- 23. Est-ce que les images-images GWT utilisant ImageBundle peuvent être utilisées dans IE7 et IE6?
- 24. Comment modifier une table temporaire?
- 25. Des transformations personnalisées peuvent-elles être utilisées (en théorie) pour créer un effet d'ondulation de l'eau sur un CALayer?
- 26. Les instructions préparées doivent-elles être désaffectées lorsqu'elles sont utilisées dans des procédures stockées?
- 27. Comment vider les instructions machine utilisées par un programme Perl
- 28. asp.net: qui collecte des données devraient être utilisées pour retourner une table
- 29. La capture et la substitution de regex peuvent-elles être utilisées avec une directive Apache DirectoryMatch?
- 30. Je veux une requête d'insertion pour une table temporaire
utilisaient des procédures plus tôt pour créer et supprimer des tables temporaires à la volée avant de passer à des vues en ligne - le basculement était en grande partie dû à des problèmes dans l'environnement de développement d'équipe partageant une DB! ajouter à cela est que le programme est exécuté dans 10 threads parallèles pour différentes gammes de données - pour planifier maintenant de revenir à des tables temporaires comme le développement est fait et maintenant sa performance - peut être 11g RESULT_CACHE indice est la réponse? – prabhackar
La création et la suppression de tables temporaires globales dans Oracle provoquent des problèmes. Si vous les utilisez, laissez-les dans la base de données. Cela vous évitera de devoir créer des objets. Et toutes les données qu'ils contiennent sont spécifiques à la session et tronquées à la fin d'une transaction ou d'une session. Donc pas besoin de les laisser tomber. –