设计一个多线程读取数据库

时间:2008-08-27 12:01:39   来源:论坛整理  作者:  编辑:chinaitzhe
在一个数据库中,有同类型表N张(表1),现在要取这些表中数据,按时间顺序排列写入到文件中。(有一张表专门记录这些表的表名:表2)。

我想有多线程实现同时取数据,然后取出数据。

怎么实现呢 ?

网友回复:每个线程分别取出一部分,select语句中使用top关键字和order by关键字检索
网友回复:我的一个思想:
第一步,取表2得出表名,放入一个LIST里面。
第二步,把LIST分成5段。
第三步,开5个线程线程,分别读取这五段表,返回最早时间的记录。(select top 1 * from " tableName " order by 时间)
第四步,把时间写入文件。

我现在的问题是第三步,我不知道如何处理。

网友回复:学习中~~
网友回复:“我现在的问题是第三步,我不知道如何处理。 ”

有什么难处吗?你只需要定义sql语句从特定的表段中读就行了,例如,假定你的第三个线程要读编号为100~150个记录,那么你只需要在sql语句中加上限定条件就可以了。
网友回复:不是这个,我是说多线程的我问题,我的想法是读取多张表,把800多张表用5个线程去读,每一个线程取去表记录中时间最早的一条数据就可以了。

现在我的程序做了改进了。

觉得多线程对速度上没有什么特别的提高。

如果取得数据量比较大的话,JAVA虚拟机很容易报内存溢出的错误!
关键字:线程,数据库,

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面