• SQL查找是否"存在",别再count了,很耗费时间的


    根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写 SQL 的时候,还要 SELECT count(*) 呢?

    无论是刚入道的程序员新星,还是精湛沙场多年的程序员老白,都是一如既往的 count

    优化前:

    sql执行

    select COUNT(1) from csp_cust t WHERE t.contact_sheet_no =? ;

    java代码

            geshu = jxShowInfoDao.getCustno(cust);
            System.out.println("sheetNo1:"+ geshu);    
            if(geshu > 0)
            {
                System.out.println("有重复:"+ geshu);    
            }
            else
            {
                jxShowInfoDao.setCust(cust);
                
            }

    优化后:

    sql执行SQL 不再使用 count,而是改用 LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了

    select 1 from csp_cust t WHERE t.contact_sheet_no =? limit 1;

    java代码:业务代码中直接判断是否非空即可

                Integer cdmaTroubleInf = jxShowInfoService.getCDMATroubleInf(srvCode);
                Integer broadTroubleInf = jxShowInfoService.getBroadTroubleInf(srvCode);
                if(cdmaTroubleInf!=null || broadTroubleInf!=null){
                    map.put("flag", "0");
                }else{
                    map.put("flag", "1");
                }
  • 相关阅读:
    project
    类欧几里得算法
    还不熟悉的内容
    Hall定理
    FWT学习笔记
    最小树形图
    BZOJ 3027 [Ceoi2004]Sweet
    多项式除法
    VUE 计算属性和侦听器
    VUE 模板语法
  • 原文地址:https://www.cnblogs.com/xiaotang5051729/p/13208120.html
Copyright © 2020-2023  润新知