String sqlO = "";//排序方式
if(order==null || orderType==null){
sqlO = " order by patient.createdate desc";
}else if(orderType.equals("createdate")) {
if(order.equals("1")){
sqlO = " order by patient.createdate desc";
}else {
sqlO = " order by patient.createdate asc";
}
}else if(orderType.equals("name")){
if(order.equals("1")){
sqlO = " order by patient.name desc";
}else {
sqlO = " order by patient.name asc";
}
}
sql = "select patient.* ,part.name as pn from patient,part where "
+" patient.hospitalid = '"+hospitalid+"' "
+" and patient.del='0' "
+" and patient.partid = part.id"
+ sqlO ;
sqlO是order by的 语句。
就上面这个执行出来过后,刚开始没什么,后来数据量加大了,1万多条的数据 居然要30秒才显示出来。我都快哭了,这才1万条数据啊。而且长期回出现 Java heap space.堆栈大小这玩意我已经尝试过N多种方法了。还是有时候回出现 java heap space.
所以 目前怀疑的是上面那sql语句的问题。我对数据库不是很了解。
听说要用什么索引。但我不知道什么写,网上看了很多资料,没点头绪。
希望高手帮我优化下 上面这条sql.鄙人不胜感激。