weixin_42216074 2008-07-04 17:03
浏览 382
已采纳

万次对数据库查询操作 效率非常慢,如何解决

万次对数据库查询操作 效率非常慢,如何解决?

现在是这样的

我需要批量导入 用户:(导入内容为:用户编号)

导入的同时,对用户进行业务校验,通过校验的就可以入库。

每一次校验都得到数据库里取相关信息,用户有3万条,这样执行速度非常慢?

大侠 帮出出主意
[b]问题补充:[/b]
关键是 3万条记录 进行3万次校验 要做3万次数据库查询,
用户编号是加密的,是唯一的,也是是查询必要条件,每一用户查询出来的记录是一条
慢就慢在 查询数据库

  • 写回答

4条回答 默认 最新

  • llade163 2008-07-05 21:06
    关注

    用线程池,大概10条线程左右,把3万条作业分给10个线程。估计速度大概提高3倍左右。当然,线程不是越多越好,视CPU的个数和处理能力而定,通常多CPU的系统用线程的效率还是非常明显的。

    可以用spring和hibernate快速搭建这样一个基于线程的导入平台。假如你的数据库访问本来就是Hibernate的话。就更简便了。起一个新项目,把原来平台的Hibernate的mapping和持久化类直接拷贝过来就可以直接用。其实就是搭建一个快速的只有数据库访问的小系统。用单个类启动spring就可以用,而且这个小系统可以重复使用,只需要修改一下配置,用工具从数据库生成一下Hibernate的mapping就可以了。

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

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择