如何将大数据表复制到 MySql 表?
Posted
技术标签:
【中文标题】如何将大数据表复制到 MySql 表?【英文标题】:How to copy large datatable to MySql table? 【发布时间】:2012-09-09 23:18:10 【问题描述】:我正在尝试将在应用程序中动态创建的大型数据表(超过 1000 行的列)复制到使用 c#、WPF 的 mysql 表中。 我已经搜索了各种方法来做到这一点,但没有成功实施。我认为 MySqlDataAdapter 类是我应该使用的,但我不能让它工作。这就是我试图做的......
MySqlConnection con = new MySqlConnection(MyConString);
MySqlCommand comm = new MySqlCommand("Select * From kinectdata", con);
MySqlDataAdapter test1 = new MySqlDataAdapter(comm);
test1.Update(skelData);
这种传输的速度也很重要,所以我不想调用插入或更新语句 1000 次。
非常感谢您的反馈! M
【问题讨论】:
【参考方案1】:1000 行不算多,用数据库术语来说不算什么,使用 insert 应该很快。不超过 2 秒。
在您的示例中,您必须声明命令类型并设置查询和命令文本。
【讨论】:
【参考方案2】:您可以构建一个插入所有 1000 行的 INSERT
语句。
INSERT INTO table VALUES (1,2,3), (4,5,6), (7,8,9);
【讨论】:
太好了,谢谢!我尝试了数据适配器和命令生成器,但直接一行命令要快得多。 @Keith 这个插入语句是否受大小限制?我无法想象你能以这种方式插入一 GB 的数据 @fubo:是的,可能有 SQL 字节限制。而且您可能不想使用所有的 DB 内存来保存一条语句。将您的数据分成具有合理插入大小( @Keith:感谢您的回复。我想你是对的。我试图插入大约 5MB 并且它没有任何问题 - 但它需要一段时间:)。可惜了,mysql对于这种情况没有带参数的解决方案。以上是关于如何将大数据表复制到 MySql 表?的主要内容,如果未能解决你的问题,请参考以下文章