程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 封裝-jdbc查詢時間優化,判斷主鍵是否重復的方法體簡化怎麼寫

封裝-jdbc查詢時間優化,判斷主鍵是否重復的方法體簡化怎麼寫

編輯:編程綜合問答
jdbc查詢時間優化,判斷主鍵是否重復的方法體簡化怎麼寫

菜鳥寫了個對主鍵是否重復進行一個判斷的方法。
mysql現在存有45萬行數據,,就調用這方法判斷就花了三四秒,但是直接mysql裡直接查詢cid主鍵列只需要0.00幾秒不知道這裡為什麼這麼慢,求解
後面大約還有一百多萬行數據要錄入。查詢速度不久幾何翻倍咯。求代碼優化給點建議或者重寫,,

 public  static boolean getcid(int cid){
        Conn conn=null;    //Conn是封裝好了對mysql數據庫進行數據增刪查改的方法的封裝類
        boolean gg=true;  //存取主鍵是否重復的變量。默認true
        PreparedStatement st = null;
        String sqll="SELECT cid FROM b";
        ResultSet rs;
        try {
            conn=new Conn();
                st=conn.prepareStatement(sqll);
                rs=st.executeQuery();
                while(rs.next())          //遍歷結果集,,如果查詢到cid已存在,方法返回false
                    if(rs.getInt("cid")==cid)
                    {
                    gg=false;
                    break;
                    }

        } catch (SQLException e) {

            e.printStackTrace();

        } catch (Exception e) {

            e.printStackTrace();
        } 
        return gg;
    }

最佳回答:


 為什麼String sqll="SELECT count(cid) FROM b where cid"=cid;這裡拼上where呢
 客戶端取全部結果集影響速度因素
 1、網絡因素
 2、java獲取後創建對象
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved