Revision 2b1209af
Added by Andreas Kohlbecker almost 8 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/ClassificationDaoHibernateImpl.java | ||
---|---|---|
112 | 112 |
|
113 | 113 |
String selectWhat = doCount ? "count(distinct tn)" : "distinct tn"; |
114 | 114 |
|
115 |
String joinFetch = doCount ? "" : " JOIN FETCH tn.taxon t JOIN FETCH t.name n JOIN FETCH n.rank JOIN FETCH t.sec ";
|
|
115 |
String joinFetch = doCount ? "" : " JOIN FETCH tn.taxon t JOIN FETCH t.name n LEFT JOIN FETCH n.rank LEFT JOIN FETCH t.sec ";
|
|
116 | 116 |
|
117 | 117 |
if(rank == null){ |
118 | 118 |
String hql = "SELECT " + selectWhat + " FROM TaxonNode tn" + |
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/ClassificationController.java | ||
---|---|---|
114 | 114 |
} |
115 | 115 |
rank = findRank(rankUuid); |
116 | 116 |
|
117 |
// long start = System.currentTimeMillis();
|
|
117 |
long start = System.currentTimeMillis(); |
|
118 | 118 |
List<TaxonNode> rootNodes = service.listRankSpecificRootNodes(tree, rank, null, null, NODE_INIT_STRATEGY()); |
119 |
// System.err.println("service.listRankSpecificRootNodes() " + (System.currentTimeMillis() - start));
|
|
119 |
System.err.println("service.listRankSpecificRootNodes() " + (System.currentTimeMillis() - start)); |
|
120 | 120 |
|
121 | 121 |
return rootNodes; |
122 | 122 |
} |
cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/controller/ClassificationPortalListController.java | ||
---|---|---|
150 | 150 |
} |
151 | 151 |
rank = findRank(rankUuid); |
152 | 152 |
|
153 |
// long start = System.currentTimeMillis();
|
|
153 |
long start = System.currentTimeMillis(); |
|
154 | 154 |
List<TaxonNode> rootNodes = service.listRankSpecificRootNodes(tree, rank, null, null, NODE_INIT_STRATEGY); |
155 |
// System.err.println("service.listRankSpecificRootNodes() " + (System.currentTimeMillis() - start));
|
|
155 |
System.err.println("service.listRankSpecificRootNodes() " + (System.currentTimeMillis() - start)); |
|
156 | 156 |
return rootNodes; |
157 | 157 |
} |
158 | 158 |
|
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/ClassificationServiceImpl.java | ||
---|---|---|
146 | 146 |
} |
147 | 147 |
} |
148 | 148 |
} |
149 |
// long start_t = System.currentTimeMillis();
|
|
149 |
long start_t = System.currentTimeMillis(); |
|
150 | 150 |
Collections.sort(results, taxonNodeComparator); // TODO is ordering during the hibernate query in the dao possible? |
151 |
// System.err.println("service.pageRankSpecificRootNodes() - Collections.sort(results, taxonNodeComparator) " + (System.currentTimeMillis() - start_t));
|
|
151 |
System.err.println("service.pageRankSpecificRootNodes() - Collections.sort(results, taxonNodeComparator) " + (System.currentTimeMillis() - start_t)); |
|
152 | 152 |
return new DefaultPagerImpl<TaxonNode>(pageIndex, (int) totalNumberOfResults, pageSize, results); |
153 | 153 |
|
154 | 154 |
} |
Also available in: Unified diff
#4962 using LEFT FETCH JOIN for ranks and sec fixed problems and improves performance