首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C#在mysql中插入海量流数据

问使用C#在mysql中插入海量流数据
EN

Stack Overflow用户
提问于 2012-09-15 05:47:53
回答 1查看 537关注 0票数 1

我使用Mysql,需要插入大量数据。数据以5k行的列表形式流式传输到我的服务器。我需要插入超过3k个请求,这意味着3k个请求* 5k行=15000000行。

我所做的是使用这些线程创建线程和插入线程,因为数据在异步事件中以5k的数据包形式出现。数据响应是根据我的请求生成的。

要做到这一点,最好的方法是什么?

ThreadPooling用于线程管理或简单的多线程应用程序,线程将在插入时受益,因为我需要在单个表中插入(Innodb引擎)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-15 06:04:22

您可以在服务器上缓存传入的请求。在收到N个请求之前,在内存中保留一些缓冲数据(稍后可以对其进行微调)。获得这些数据后,只需使用某个批量插入例程将数据刷新到MySql中。通常,做一次大的插入比做许多小的插入要快得多。

您可以使用ConcurrentBag类将数据保存在服务器上。这是一个线程安全的集合。

此外,您可能需要根据时间使缓存过期。这将涵盖这样的情况:您收到一些请求n

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12432419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档