您的位置:首页 > 其它

“云”下的主动、精准、整合营销

2012-12-06 16:53 295 查看
我在对JdbcTemplate中的queryForList(String sql)作单元测试时发现有内存溢出的现象,这个查询的方法跟表中的字段多少有关:
我的做法如下:
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: