分享
 
 
 

大数据量(已测500W或1000W数据)分页读取的一点心得体会

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

今日小弟在CSDN论坛里发了个“500W数据分页性能测试”的帖子,想不到引起众多朋友的关注,于是打算写份心得体会~~~~本来测试的时候用的1000W数据测试,不过小弟的机器只有512的内存,用1000W,性能虽说也还很好,但我的机器却不能再干别的了,于是改为500W,但性能几乎没什么差别!只是1000W启动更慢,内存消耗更大~~500W消耗90多M,1000W就要消耗180多M……

帖子地址:http://community.csdn.net/Expert/topic/3132/3132779.xml?temp=9.943789E-02

首先数据量大了之后,我们先分析下,瓶颈在哪里?我们就以比较经典和流行的那个存储过程分页作为例子~~那个存储过程都干了些什么呢?他建立了一个临时内存表,用来存放ID,致使ID连贯,可以任意获取某个位置的数据,但如果数据量十分大了之后,比如500W或者1000W,即便只读ID也是很费劲的~~~那解决问题的关键就在于,如何不读这个ID,数据库那边是不好操作了,于是,我们可以把这个ID索引读到程序中来,然后根据这个索引读数据,不就快了吗?慢也就是第一次的时候慢~~ 于是,我读取了这个ID列到程序总,并组织成为一个ArrayList,然后根据访问这个AL的元素定位需要数据的真实ID,有了ID就好办了,再根据ID获取数据,还困难吗?

接下来,出现了新的问题,如果数据频繁更新怎么办?重新建立AL?不,不能怎么死脑筋,换个方式?我为什么不能在更改数据的同时更改这个AL呢?这就不用重新建立了,OK,核心思想就是这样~~

进一步就是一些麻烦的过程,还好没什么难度,只是麻烦而已,那就是每次更新数据库的同时同步更新缓存中的AL,要实现这个,是有一点麻烦~~于是我将这些操作全部封装,成了一个实体控制类,用DataRow和DataTable作为实体,内部实现了增删改的方法,并且在实现的同时,同步更新了AL

大概的原理就是这样,其实很简单,只是思路问题而已~~~

说说这个方法的缺陷吧,有,当然有,通过这个方法获取数据,获取的规则,比如排序,比如过滤,必须预先指定,不能随时更换~~~

关于进一步提高,小弟想到一个办法,还可以进一步提高性能,但现在还没实现,还在构思,就不多说了,如果实现成功再说吧,免得浪费大家的时间~~~

最后,介绍下我的这个实体控制类^_^

1、实现了缓存加速功能,上面说的办法就是核心思想,当然也支持常规的存储过程和ID过滤方式,并且集成好了的。

2、不用XML,可以自动根据数据库结构,建立映射对象。

3、解决数据并发更新冲突(还在制作中)

4、可以根据对象建立数据表。

5、用DataTable和DataRow作为实体,我觉得蛮好,通用且方便~~~~

6、单条查询、集合查询、数据的单条和集合的“增加”“删除”“修改”这些自然是实现的了

不知道算个什么,呵呵,如果有需要的朋友可以与我联系~~~

cnlamar

hotmail.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有