当前位置: 代码迷 >> SQL >> sql函数与string拼接查询id聚合哪个效率高
  详细解决方案

sql函数与string拼接查询id聚合哪个效率高

热度:91   发布时间:2016-05-05 11:11:12.0
sql函数与string拼接查询id集合哪个效率高

第一种:利用sql函数查询id集合

String sql = "select GROUP_CONCAT(DISTINCT product_id) productId from product_supplier where supplier_id="+supplierId;
???try {
????ps = db.getConn().prepareStatement(sql);
????rs = ps.executeQuery();
????if(rs.next()) {
?????con.append(" and p.id in ("+rs.getString(1)+")");
????}
???} catch (SQLException e) {
????e.printStackTrace();
???}

第二种:利用string拼接的方式把id结合拼起来

String sql = "select product_id from product_supplier where supplier_id="+supplierId;

StringBuffer sb = new StringBuffer();
???try {
????ps = db.getConn().prepareStatement(sql);
????rs = ps.executeQuery();
????while (rs.next()) {
?????sb.append(rs.getInt(1)+",");
????}
????String s ="";
????if(sb.toString().length()>=1){
?????s = sb.toString().substring(0,sb.length()-1);
????}
????con.append(" and p.id in ("+s+")");

第一种与第二种哪个的效率高呢

1 楼 lucky16 昨天  
测试下,记录下时间不就OK了。
2 楼 静夜独窗 昨天  
,也对,机器没有明显的差别
  相关解决方案