今天一天几乎都是在与数据库打交道,碰到过去从未想过也不曾碰到过的问题,也让我对数据库有了一些新的认识,新的感受,主要是两个方面,一个是ORDER BY,一个是Batch。
情景一:有两张表,一张有100万条记录,另一张有300万条记录。
最初的SQL是连接两张表,并对其中一个表的非索引字段排序,并取出几千条的数据,花费了很长的时间,最终分析得出,大部分时间花在排序上。后来去掉了ORDER BY并使用客户端的Utils方法对已经取出的数据进行排序,查询速度大大优化。
情景二:对取出的结果进行一定的处理,并更新其中一张表。
最初的办法是处理一个更新一个,效率很低,最后和老员工交流经验得到真传,于是决定使用Batch来批量更新数据库,效率极大的提高,有一个数量级,但是因为我本地客户端没有装DB2的升级补丁,无法在客户端更新,在服务器上更新成功。
总结,数据库的访问效率应该是这类系统最主要的瓶颈,多花点时间放在查询语句和查询策略上,有时候效率提高会很大。
posted on 2005-11-28 17:24
steady 阅读(461)
评论(0) 编辑 收藏 所属分类:
技术随笔