社区
C#
帖子详情
...........挑战数据库查询和文件读写极限......
hzhxxx
2007-01-16 04:58:11
...........挑战数据库查询和文件读写极限......
需要把数据库中一个数据表 3600W 条记录读出,写成一个 txt 文本文件
一条记录对应 txt 文件中的一行数据,有什么比较快的方式
1. 目前我准备每次取出100 条记录后通过(每次最多取这么多) 异步IO 的方式把数据写入
文本文件,这样我也需要 循环 36000次,每次就算0.5秒,但是这样初步计算了一下,大致
也要5 个小时啊,客户没法答应,怎么办
...全文
367
11
打赏
收藏
...........挑战数据库查询和文件读写极限......
...........挑战数据库查询和文件读写极限...... 需要把数据库中一个数据表 3600W 条记录读出,写成一个 txt 文本文件 一条记录对应 txt 文件中的一行数据,有什么比较快的方式 1. 目前我准备每次取出100 条记录后通过(每次最多取这么多) 异步IO 的方式把数据写入 文本文件,这样我也需要 循环 36000次,每次就算0.5秒,但是这样初步计算了一下,大致 也要5 个小时啊,客户没法答应,怎么办
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hzhxxx
2007-01-18
打赏
举报
回复
/*
WriteFileTest()
{
Console.WriteLine(DateTime.Now.ToString());
FileStream fStream = new FileStream("c:\\bb.txt",FileMode.Append);
const int length = 1024 * 6;
StringBuilder strvalue = new StringBuilder();
//Console.WriteLine("read start" + DateTime.Now.Millisecond.ToString());
for(int i = 0; i < 70000;++i)
{
for(int k = 0;k < 100;++k)
{
strvalue.Append(i);
strvalue.Append(";11");
strvalue.Append(";22");
strvalue.Append(";ggg");
strvalue.Append(";fffff");
strvalue.Append(";aaaa");
strvalue.Append(";22");
strvalue.Append(";ggg");
strvalue.Append( ";fffff");
strvalue.Append(";发大幅度");
strvalue.Append(";aaaa");
strvalue.Append( ";fffff");
strvalue.Append(";发大幅度");
strvalue.Append("\r\n");
}
//Console.WriteLine("read end" + DateTime.Now.Millisecond.ToString());
byte[]ImageContent = System.Text.Encoding.Default.GetBytes(strvalue.ToString());
//Console.WriteLine("write start" + DateTime.Now.Millisecond.ToString());
fStream.Write(ImageContent,0,ImageContent.Length);
//Console.WriteLine("write end" + DateTime.Now.Millisecond.ToString());
strvalue.Remove(0,strvalue.Length);
}
fStream.Close();
Console.WriteLine(DateTime.Now.ToString());
}
经过测试,这段代码的运行速度是最快的,写一个 477M 的文件耗时25s,效率的
瓶颈是内部的100次循环,组装字符串,IO 写操作非常快
各位看还有什么优化的措施
*/
hzhxxx
2007-01-17
打赏
举报
回复
经过测试 ,做 70000 次循环,每次循环里面再 100 次循环(模拟取数据),
使用 stringbuilder 预先开 1024 * 128 k 内存,循环使用这段内存,
最终写到一个文本文件。
同步模式: 25s,异步模式 26m,文件大小 为 477431KB,测试结果表明同步比异步快,
单线程模式
bitpolar
2007-01-16
打赏
举报
回复
这也算极限???
0.5秒执行一次也太慢了吧
一般服务器(我们公司服务器大致2W块钱左右)通过WebService执行登录大约支持1000次/秒
hzhxxx
2007-01-16
打赏
举报
回复
部署数据库备份一类的,导出的数据还要加工处理,比如说某个字段是值 1 写入文本文件是 正确,2 写入是错误
hzhxxx
2007-01-16
打赏
举报
回复
不能到数据库上操作,一定是需要调用别人的存储过程(别人提供的方法),所以每次才能得到100 条记录的限制,这个是无法改变的了
runrunrun
2007-01-16
打赏
举报
回复
用bcp命令
mobydick
2007-01-16
打赏
举报
回复
数据库图标上点右键->所有任务->导出数据
TheRule
2007-01-16
打赏
举报
回复
直接从数据库导出为一个txt文件不行吗?
joleo
2007-01-16
打赏
举报
回复
这个txt还打得开吗?
*****************************************************************************
http://www.poge.com.cn
三省Ta叔
2007-01-16
打赏
举报
回复
执行一次需要那么久吗?那不干脆找个打字的敲进去
数据库mysql读写分离实现方案
本文探讨了随着业务扩展和数据量增长,数据库面临压力增大的
挑战
,介绍了读写分离、水平分表、分库、垂直分表及引入缓存等常见数据库优化方案。详细解释了MySQL读写分离的实现原理,并对比了Mysql-proxy、MyCat、MaxScale、MySQLRouter和ProxySQL等多种读写分离工具的特点。
tstorage性能测试报告:插入与查询操作的
极限
挑战
本报告基于标准硬件环境(i7-8559U、16GB RAM、macOS)对嵌入式时序数据库tstorage开展基准测试,结果显示其插入性能达1413万次/秒(305.9ns/op),千级与百万级查询分别达2054万次/秒和1618万次/秒,延迟均在纳秒级。性能优势源于时间分区存储、内存+磁盘混合存储、顺序写入及mmap内存映射等关键技术。
数据库分库分表和读写分离
本文详细介绍了MySQL在面对海量数据时的优化策略,包括索引、分区表、数据归档和分库分表。讨论了分区表的优缺点,指出其在互联网公司中并不常用,而数据归档是处理历史订单的有效方式。接着阐述了数据分库分表的时机和原则,强调能不分就不分,能少拆不多拆。垂直拆分和水平拆分各有优势和
挑战
,如垂直拆分减少了单表数据行数,但增加了表操作的复杂性;水平拆分解决了查询压力,但带来了join操作和count()、orderby操作的复杂性。最后提到了主从延迟问题和读写分离策略,建议在业务层面解决主从延迟,并给出了相应的解决方案。
AI 大模型时代:星飞全闪存储如何应对向量数据库的
极限
挑战
?
本文探讨AI大模型时代下向量数据库对存储系统的
极限
挑战
,重点介绍XSKY星飞全闪存储(XEBS/XHERE)如何通过全闪分布式架构支撑Milvus等向量数据库的高并发、低延迟、海量小文件访问需求。文章涵盖其与TDSQL、TiDB等传统数据库互认证成果,并披露在DiskANN索引下QPS达VMware vSAN 3–4倍的实测性能,验证其作为AI数据基础设施的统一高性能底座能力。
AI智能棋盘测试HyperX Savage
极限
读写性能
本文探讨金士顿HyperX Savage SSD在AI智能棋盘中的应用,重点测试其在高频小
文件读写
、长期稳定性及恶劣工况下的表现。通过优化接口、散热、文件系统与掉电保护,该消费级SSD展现出超越传统eMMC的性能,验证了其在AIoT边缘设备中替代嵌入式存储的可行性。
C#
111,130
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章