java mysql查询变慢_查询数据库速度慢。。。。。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

public List> findMovieByType(String moviename,String type,String spinnerActor,String spinnerYear,String television,int pageNum,int numSize){

int m = (pageNum-1)*DbUtil.page_Num;

List> movieTypeList = new ArrayList>();

SQLiteDatabase db = dbHelper.getReadableDatabase();

Map params = new HashMap();

params.put("name", moviename);

params.put("type", type);

params.put("actor", spinnerActor);

if("其他".equals(spinnerYear)||"80年代".equals(spinnerYear)||"70年代".equals(spinnerYear)||"60年代".equals(spinnerYear)){

check();

}

else{

params.put("year", spinnerYear);

}

//params.put("television", television);

Set fields = params.keySet();

List values = new ArrayList();

StringBuilder sql = new StringBuilder("select * from Online_All where television=?");

for (Object field : fields) {

if(params.get(field)!=null && !params.get(field).isEmpty()&& !"其他".equals(spinnerYear)){

sql.append(" and "+field+" like '%").append(params.get(field)).append("%'");

//sql.append(" and "+field+" locate('").append(params.get(field)).append("',").append(params.get(field)+")>0");

}

else if(params.get(field)!=null && !params.get(field).isEmpty()&& "其他".equals(spinnerYear)){

sql.append(" and "+field+" like '%").append(params.get(field)).append("%'").append("and year>=0 and year<1960");

}

else if(params.get(field)!=null && !params.get(field).isEmpty()&& "80年代".equals(spinnerYear)){

sql.append(" and "+field+" like '%").append(params.get(field)).append("%'").append("and year>=1980 and year<1990");

}

else if(params.get(field)!=null && !params.get(field).isEmpty()&& "70年代".equals(spinnerYear)){

sql.append(" and "+field+" like '%").append(params.get(field)).append("%'").append("and year>=1970 and year<1980");

}

else if(params.get(field)!=null && !params.get(field).isEmpty()&& "60年代".equals(spinnerYear)){

sql.append(" and "+field+" like '%").append(params.get(field)).append("%'").append("and year>=1960 and year<1970");

}

}

sql.append(" order by year desc limit ?,?");

values.add(String.valueOf(television));

values.add(String.valueOf(m));

values.add(String.valueOf(numSize));

db.beginTransaction();

Cursor cursor = db.rawQuery(sql.toString(),values.toArray(new String[values.size()]));

while(cursor.moveToNext()){

int num = cursor.getInt(cursor.getColumnIndex("num"));

String name = cursor.getString(cursor.getColumnIndex("name"));

String movieactor = cursor.getString(cursor.getColumnIndex("actor"));

String movieregion = cursor.getString(cursor.getColumnIndex("region"));

String movietype = cursor.getString(cursor.getColumnIndex("type"));

String movieyear = cursor.getString(cursor.getColumnIndex("year"));

String link = cursor.getString(cursor.getColumnIndex("link"));

String jianjie = cursor.getString(cursor.getColumnIndex("jianjie"));

String mtelevision = cursor.getString(cursor.getColumnIndex("television"));

HashMap map = new HashMap();

map.put("moviepic", num);

map.put("movieName", name);

map.put("movieyear", movieyear);

map.put("movieactor", movieactor);

map.put("movieregion", movieregion);

map.put("movietype", movietype);

map.put("movietlink", link);

map.put("jianjie", jianjie);

map.put("television", mtelevision);

movieTypeList.add(map);

}

cursor.close();

db.endTransaction();

db.close();

return movieTypeList;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值