[ https://issues.apache.org/jira/browse/JUDDI-237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kurt T Stam closed JUDDI-237. ----------------------------- Resolution: Not A Problem No issues have been reported. Closing this. Please reopen if there are reproducible performance issues. > Extra select queries are run, one for each search result related to category > bag > -------------------------------------------------------------------------------- > > Key: JUDDI-237 > URL: https://issues.apache.org/jira/browse/JUDDI-237 > Project: jUDDI > Issue Type: Improvement > Reporter: Jeff Faath > Assignee: Jeff Faath > Priority: Minor > Fix For: 3.2 > > > Consider this scenario: > A find_service operation produces three results and runs this final JPA query > to fetch and order the final results: > select distinct bs from BusinessService bs , ServiceName ServiceN_ where > bs.entityKey = ServiceN_.businessService.entityKey and bs.entityKey in ( ?, > ?, ?) order by ServiceN_.name asc, bs.modified desc > where the three parameters are the resulting keys. This generates the > following raw SQL: > select distinct businessse0_.entity_key as entity1_114_, > businessse0_1_.authorized_name as authorized2_114_, businessse0_1_.created as > created114_, businessse0_1_.modified as modified114_, > businessse0_1_.modified_including_children as modified5_114_, > businessse0_1_.node_id as node6_114_, businessse0_.business_key as > business2_121_ from juddiv3_business_service businessse0_ inner join > juddiv3_uddi_entity businessse0_1_ on > businessse0_.entity_key=businessse0_1_.entity_key, juddiv3_service_name > servicenam1_ where businessse0_.entity_key=servicenam1_.entity_key and > (businessse0_.entity_key in (? , ? , ?)) order by servicenam1_.name asc, > businessse0_1_.modified desc > select servicecat0_.id as id111_0_, servicecat0_.entity_key as entity2_136_0_ > from juddiv3_service_category_bag servicecat0_ inner join > juddiv3_category_bag servicecat0_1_ on servicecat0_.id=servicecat0_1_.id > where servicecat0_.entity_key=? > select servicecat0_.id as id111_0_, servicecat0_.entity_key as entity2_136_0_ > from juddiv3_service_category_bag servicecat0_ inner join > juddiv3_category_bag servicecat0_1_ on servicecat0_.id=servicecat0_1_.id > where servicecat0_.entity_key=? > select servicecat0_.id as id111_0_, servicecat0_.entity_key as entity2_136_0_ > from juddiv3_service_category_bag servicecat0_ inner join > juddiv3_category_bag servicecat0_1_ on servicecat0_.id=servicecat0_1_.id > where servicecat0_.entity_key=? > The first query is as expected to get the three services. But then, the > three extra queries are called to retrieve the category bag, even though > nothing related to the category bag was requested in the JPA query. This > seems to imply that an extra select query will be called for every result > (regardless of how many the user requests). This seems like an opportunity > to optimize the search results. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira