关系数据库性能问题 一、任务描述 工作中的一个数据批量任务,涉及到4张基本表和4张业务数据表。 基本表 (Basic Table) 数据量不大,每个表最多几百条记录;业务表 (Transaction Table) 数据量较大,每个表有几十万条记录。 以前的版本使用OO(O/R ?)方式, (1) SQL查询数据库选出一个业务表的数据,每条记录映射为一个Object。 (2) 循环每个Object,根据属性 查询数据库,取出关联的表数据,映射为Object;依此类推,一步步取出相关数据Object。然后计算并生成结果数据。 这种方案,第一次取出的数据集很大,循环步数很多,而且每一步里面 ...
分页 & QueryKey & 预取 数据库分页查询一般分为两步, (1)根据查询条件,count 记录总数 (2)根据当前页的数据范围(起始位置offset, 每页数据个数span),从符合查询条件的记录集 取出对应范围的数据。 一、根据范围取数据的方法 如果单纯用JDBC从ResultSet中取出一个指定范围(offset, span)的数据,可以采用这样的方法。 [code:1] ps = con.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ps.setM ...
本来我尽量避免关于方法论方面的主义之争,但一些话如骨鲠在喉,不吐不快。 软件领域方法论大师的著作发人深省,通常代表着软件开发的未来模式。当然,我们在读大师之后,掩卷沉思之余,最好也保持自己的独立意见。 希望本文能够唤起一些对基本概念和基本功的重视(追逐新潮概念之余,同时也固本培源 :D)。 1. Domain Object的重新提出的背景 Domain Object并不是一个全新的概念,而是继承以前的纯面向对象开发的思路。 由于当前O/R Mapping, DAO开发结构的层次划分,导致出现了大量的纯粹数据对象。这些数据对象只带有getter, setter属性,而不具有属于自己的方法,起 ...
buaawhl
搜索本博客
其他分类
存档
最新评论