zhour560 2011-05-12 17:17
浏览 346
已采纳

对于大数据量,并且matchs方法耗时,如何提升以下代码执行速度?多线程?还是?

public class Test {

public static void main(String[] args) {
    ResultSet results = null;
    List<Integer> ids = new ArrayList<Integer>();
    String querySQL = "select id, value from tb";

    try {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection con = java.sql.DriverManager
        .getConnection(
                "jdbc:mysql://localhost/demo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull",
                "root", "root");
        results = con.createStatement().executeQuery(querySQL);
        String value;
        while (results.next()) {

            value = results.getString("value");

            if (matches(value)) {
                ids.add(results.getInt("id"));
            }
        }   

        con.close();
    } catch (SQLException e) {
        e.printStackTrace();
    } catch (InstantiationException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

public static boolean matches(String value) {
    ......
    ......
    ......

    return flag;
}

}

  • 写回答

8条回答 默认 最新

  • iihero_ 《SybaseASE15.X全程实践》书籍作者 2011-05-14 19:44
    关注

    [quote]不好意思,我题目有点问题,match其实两个参数,一个是前台传过来的参数,是会变的,另外一个是数据库中某一列的值。[/quote]

    这样的话,如果不使用存储过程,也没什么优化的余地了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题