• mysql处理百万数据遍历速度提升(遍历图片名字是否存在)


    CREATE DEFINER=`root`@`localhost` FUNCTION `fun_wcmappendix02`(image_name VARCHAR(50)) RETURNS int(11)
    BEGIN
      DECLARE sTemp LONGTEXT; 
       DECLARE sTempChd LONGTEXT; ##4g
     
       SELECT GROUP_CONCAT(t.APPFILE) into sTemp from wcmappendix t where APPFILE not like 'http%';
       SELECT GROUP_CONCAT(img) into sTempChd from test2 where img not like 'http%';
     
     if  FIND_IN_SET(image_name,sTemp)>0 OR FIND_IN_SET(image_name,sTempChd)>0 THEN
       RETURN 1;
     ELSE
       RETURN 0;
     end IF;
    END
    

      调用

    package test;
    import java.sql.Connection;
    
    import java.sql.DriverManager;
    
    import java.sql.SQLException;
    import java.sql.Types;
    
    import com.mysql.jdbc.CallableStatement;
    
    
    public class deleteImage2 {  
        public static void main(String[] args) {  
            Connection connection = null;  
            //用于执行 SQL 存储过程的接口  
            try {  
                Class.forName("com.mysql.jdbc.Driver");  
                String url = "jdbc:mysql://localhost:3306/gonganbao?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&tcpRcvBuf=1024000";  
                String user = "root";  
                String password = "123123";  
                connection = DriverManager.getConnection(url, user, password);  
                String sql = "{?=call fun_wcmappendix02(?)}";  
      
                //调用存储过程  
                CallableStatement cstmt = (CallableStatement) connection.prepareCall(sql);
                cstmt.registerOutParameter(1,Types.INTEGER);
                cstmt.setString(2,"W020180109595367694267.jpg");
                cstmt.execute();
                int value = cstmt.getInt(1);
                System.out.println(value);
            } catch (ClassNotFoundException e) {  
                e.printStackTrace();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            } catch (Exception e) {  
                e.printStackTrace();  
            } finally {  
                try {  
                        connection.close();  
                } catch (SQLException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
    }  
    

      

  • 相关阅读:
    C#学习第四弹之封装、继承和多态
    C#学习第三弹之给常量赋值可能引发的问题
    C#学习第二弹之C#与.NET框架
    hdu 5199 map或二分或哈希
    hdu 5195 线段树
    hdu 2545 并查集
    ACM数论模板
    C#学习第一弹之Hello World
    对字符串进行频繁拼接的话,使用StringBuffer或者StringBuilder
    String中根据,(逗号)进行分割
  • 原文地址:https://www.cnblogs.com/qinyios/p/11417290.html
Copyright © 2020-2023  润新知