java 从数据库中读取大数据

java 从数据库中读取大数据,第1张

这样每次去读取上百万条数据,不崩掉才怪,

我的想法是,你分批去查,然后分批导出,

类似于分页,每1000 或者更多为一批

按批次去执行,然后做一个进度条,按有多少批次为进度数进行导出

这样应该会好很多

还可以做个缓存机制,按批次进行存储,下次拿数据就直接从缓存中获取

1、数据库连接

是来自“数据库 *** 作支持库”。数据库连接功能型窗口组件 *** 作系统支持:Windows。本类型用来打开大多数数据库,起到数据库连接的作用。连接后,使用"数据库 *** 作"类型来 *** 作数据库表。

属性:

最后错误、是否已连接、对象提供者、引擎版本、

方法:

连接、连接Aess、连接SQLServer、关闭、执行SQL、取得权限、设置权限、设超时时间、取超时时间、开始事务、保存事务、回滚事务

2、外部数据提供者

是来自“系统核心支持库”。外部数据提供者功能型窗口组件 *** 作系统支持:Windows。外部数据提供者用作为数据源提供对外部ODBC数据库的存取 *** 作。它使用外部数据库作为数据的存储仓库,不支持备注和长字节集类型字段,不支持以下数据 *** 作接口:

1、置行高;2、置类型;3、置文本色;4、置背景色;5、置字体名;6、置字体尺寸;7、置字体属性;8、置边距;9、置文本输入格式;

10、置对齐方式;11、置密码方式;12、合并;13、分解;14、加线条;15、删线条;16、初始尺寸时同时改变列数;17、在中间插入行;

18、插入列;

19、删除列。如果想对数据进行以上 *** 作,应该先将数据通过数据源导出到通用提供者中。另外,在支持数据源的“插入行”接口时,将直接插入空白行数据,所以如果目的数据表在某字段上建立了主键索引、强制不为空等类似列约束条件时,将导致插入失败。

属性:

左边、顶边、宽度、高度、标记、可视、禁止、鼠标指针、连接文本、查询SQL

3、区别

外部数据提供者是系统自带的数据库连接控件之一,需要配合数据源使用。外部数据提供者提供数据库连接 *** 作,数据源提供对数据的 *** 作。而数据库连接直接管理数据和连接,更方便连接数据库和 *** 作

你可以查1W条,然后按每个数据100条来分。

$data = select  from table limit 10000

$chunk = array_chunk($data, 100);

print_r($chunk);

也可以每次查询 100 条

$start = 0;

while($data = select  from table limit $start, 100)

{

print_r($chunk);

$start += 100;

}

这个真不是你想快就能快的。ASP从数据库读取三万条数据这是一瞬间的事,也许就是几十毫秒的时间。但问题在于它把数据发送到你的浏览器时,这个速度就不是由程序所能决定的了。假如你的每条数据有200个字节(这个算是很保守的估计了),三万条数据就是57M,这还只是纯数据,如果再加上HTML标签就要接近10M,按照中国平均网速32M来算,实际下行速率就是400KB/s,则10M的网页数据在理想状态下就要25秒左右才能传送完毕。

对于ASP而言,能做的就是尽量减少发送的数据量,比如只发数据,不发任何修饰标签,由客户端(即浏览器)再通过JS代码对显示效果进行修饰;还可以对数据进行压缩等等。剩下的就是听天由命了。

此外,你的不分页的要求确实太苛刻了,这可是网络耶,不是你自家的硬盘!也许等以后千兆宽带成为现实后(中国肯定要打个折扣,有200M就谢天谢地了),你的梦想才能实现。

以上就是关于java 从数据库中读取大数据全部的内容,包括:java 从数据库中读取大数据、如何使用EXCEL读取外部数据库数据、PHP mysql 分批查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10196959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存