我使用Mysql,需要插入大量数据。数据以5k行的列表形式流式传输到我的服务器。我需要插入超过3k个请求,这意味着3k个请求* 5k行=15000000行。
我所做的是使用这些线程创建线程和插入线程,因为数据在异步事件中以5k的数据包形式出现。数据响应是根据我的请求生成的。
要做到这一点,最好的方法是什么?
ThreadPooling用于线程管理或简单的多线程应用程序,线程将在插入时受益,因为我需要在单个表中插入(Innodb引擎)
发布于 2012-09-15 06:04:22
您可以在服务器上缓存传入的请求。在收到N个请求之前,在内存中保留一些缓冲数据(稍后可以对其进行微调)。获得这些数据后,只需使用某个批量插入例程将数据刷新到MySql中。通常,做一次大的插入比做许多小的插入要快得多。
您可以使用ConcurrentBag类将数据保存在服务器上。这是一个线程安全的集合。
此外,您可能需要根据时间使缓存过期。这将涵盖这样的情况:您收到一些请求n
https://stackoverflow.com/questions/12432419
复制相似问题