精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-15
我的做法如下: 1、表A INSERT INTO A('1','中华') 一共50万条 2、表B INSERT INTO A('1','中华人民共和国') 一共50万条 3、表C INSERT INTO A('1','中华人民共和国中华人民共和国') 一共50万条 对三张表作全查询时,发现内存溢出现象,都是用JdbcTemplate.queryForList(sql)出现的,并且其获取的最大记录数都不一样,如果这样的话,我们应该怎么解决这种问题呢? 首先:1、跟表的设计有关吗? 2、跟表中的字段长度有关吗? 3、跟选择的列数有关吗? [oracle] select * from ( select a.*, rownum rn from (select * from tableName) a ) where rn between 10 and 40 select * from (select rownum as rn1,code,name from cpcode where rownum<=100) where rn1 >=91 mssql select * from (select top 10 * from (select top 100 * from cpcode order by code) a order by code desc) as b order by code [mysql]select * from cpcode limit 90,10 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-05-15
分页取
|
|
返回顶楼 | |
发表时间:2007-05-16
什么库?版本?驱动版本?
|
|
返回顶楼 | |
发表时间:2007-05-16
JdbcTemplate.queryForList(String sql)方法就是将满足条件的记录封装在数据容器中,而每一条记录又是一Map的形式置放于数据容器中,要想获取分页,就只能重写spring包中的方法了,况且还是否清楚在Spring包中的rs是否支持游标的移动呢?
再获取大量数据时,请问还有什么好的解决办法吗(除了自己新写类来处理这个问题) 用的是spring2.0版本 数据库:MS SQL 驱动:JSQLConnect.jar |
|
返回顶楼 | |
发表时间:2007-05-16
select * from table limit start,pageNum
用sql语句实现不就行了么 |
|
返回顶楼 | |
发表时间:2007-05-16
请问:ddandyy
你的意思是使用语句实现要提取的记录,如提取21-40条记录,我该怎么写sql语句呢? SELECT * FROM 表名 在SQL语句中只有top和percent |
|
返回顶楼 | |
发表时间:2007-05-16
请问:ddandyy
你这个的SQL语句能执行吗? select * from table limit start,pageNum 能否写一个能执行的模板SQL语句。谢谢 |
|
返回顶楼 | |
发表时间:2007-05-16
mysql在sql语句中取固定长度 网上一搜就能搜到了
比如我上面给出的那句 start 是开始的no 从头开始就是0 pageNum是取的数据量 你说从21-40 就是 select * from table limit 20,20 我这没mysql数据库 不能试 你可以去网上查 总之是肯定能做到就是了 |
|
返回顶楼 | |
发表时间:2007-05-16
谢谢ddandyy!
你写的sql语句是满足mysql的数据库的语法,但对MS SQL和其它数据库就不能使用,我已经在MS SQL上试过了不行。 看来还是要自己写方法去包装,才能正常使用啊。 |
|
返回顶楼 | |
发表时间:2007-05-16
ms sql?
不好意思看错了 还以为你用的mysql 光用sql也是可以的 就是要麻烦一些 你去网上找吧 很多 |
|
返回顶楼 | |