J'ai une requête de sélection qui prend 10 minutes pour se terminer lorsqu'elle est exécutée sur 10M enregistrements. Lorsque je cours à travers TOAD ou programme en utilisant une connexion JDBC normale, je récupère les résultats, mais lors de l'exécution d'un Job qui utilise Hibernate comme ORM ne renvoie aucun résultat. Ça raccroche ... même après 45 minutes? Aidez-nous s'il vous plaîtMise en veille prolongée avec le problème Oracle JDBC
Répondre
Voulez-vous dire que vous essayez de récupérer des enregistrements 10M en utilisant un ORM comme Hibernate? Si c'est le cas, vous avez un gros problème, vous devez revoir votre application parce que cela ne va pas fonctionner, et pourquoi elle raccroche, eh bien, je parie que c'est parce qu'elle manque de mémoire.
Désolé, la requête renvoie uniquement le nombre d'enregistrements satisfaisant aux critères, donc nous ne récupérons pas tous les enregistrements dans la mémoire. C'est la requête elle-même qui prend du temps. Étant donné que c'est un travail par lots, nous nous attendons à ce que cela prenne du temps. Mais une fois que l'instruction préparée est générée, nous ne récupérons pas les comptes même après l'exécution normale ou la requête dans le crapaud (10 minutes). – vijay
Avez-vous activé la sortie SQL pour Hibernate? Vous devez set hibernate.show_sql
to true pour ce faire. Une fois cela fait, comparez le SQL généré avec celui que vous avez utilisé dans TOAD. Sont-ils exactement le même ou pas?
Je vais me risquer à deviner ici et dire qu'ils ne sont pas parce qu'une fois SQL est généré Hibernate ne fait rien de fantaisie - la connexion est prise à partir d'un pool; Une instruction préparée est créée et exécutée - elle ne devrait donc pas être différente de JDBC.
Ainsi, la question la plus probable est de savoir comment votre HQL peut être optimisé. Si vous avez besoin d'aide pour cela, vous devrez publier le HQL en question ainsi que les mappages/schémas de table appropriés. Exécuter l'explication sur la requête aiderait aussi bien.
Merci pour la suggestion, je cours la même question dans TOAD qui a été générée par Hibernate. – vijay
Pouvez-vous poster la question? HQL et SQL? Et le code où vous l'utilisez dans Hibernate? J'ai le plus de mal à imaginer ce qui prendrait Hibernate plus longtemps pour exécuter la même requête **. – ChssPly76
merci de répondre, j'ai un objet Criteria qui convertit en requête SQL. La requête est un nombre d'objets correspondant à un critère. Quand j'exécute le programme dans un environnement de développement qui a environ 50 000 enregistrements en DB, j'obtiens le résultat. Mais quand je cours le même programme dans Perf. env qui a comme 10M enregistre la requête ne revient jamais. Bien que l'exécution de la même requête de TOAD donne des résultats. Ma requête est quelque chose comme ça. – vijay
- 1. mise en veille prolongée problème initilization paresseux
- 2. mise en veille prolongée sql requête
- 3. Mise en veille prolongée "PreInsertEvent.getSource()" NoSuchMethodError
- 4. Mise en veille prolongée Enregistrer l'objet Question
- 5. Mise en veille prolongée - configuration Programmatic
- 6. Mise en veille prolongée: Collections de collections
- 7. Mise en veille prolongée @OrderBy avec classe référencée
- 8. Mise en veille prolongée: Non configuré CurrentSessionContext
- 9. Mise en veille prolongée Rechercher plusieurs classes
- 10. Mise en veille prolongée: générer des statistiques
- 11. utilisant décorateur bloquant ehcache avec mise en veille prolongée
- 12. requêtes désireux de chargement avec Gorm/Mise en veille prolongée
- 13. Mise en veille prolongée pour connecter les paramètres CLOB
- 14. Bypass GeneratedValue en veille prolongée
- 15. Mise en veille prolongée: mappage des colonnes redondantes unidirectionnelles
- 16. mise en veille prolongée de une à une cartographie exemple
- 17. Mise en veille prolongée DetachedCriteria dans la clause FROM
- 18. Mise en veille prolongée à plusieurs niveaux de transactions
- 19. restrictions de mise en veille prolongée et/ou commander des
- 20. Critères de mise en veille prolongée à distance
- 21. Performance de mise en veille prolongée Deuxième niveau ehcache Mise en cache
- 22. Requête SQI pour mettre en veille prolongée
- 23. Comment convertir le type de liste en Java mise en veille prolongée
- 24. Oracle JDBC THIN avec Java6
- 25. La mise en veille prolongée n'inclut pas les champs des tables jointes dans la clause select
- 26. arrêt, redémarrage, mise en veille prolongée notification léopard en utilisant python
- 27. Une application WPF échoue lors de la sortie du mode Mise en veille prolongée
- 28. comment ajouter des champs dynamiquement lors de l'utilisation mise en veille prolongée
- 29. auto veille prolongée des conditions de jointure
- 30. Pourquoi les collections associées contiennent-elles des valeurs nulles? (Mise en veille prolongée, Annotation, Printemps)
Est-ce que vous vous attendez honnêtement à ce que nous vous répondions sur cette base? – skaffman