【问题标题】:How to copy large datatable to MySql table?如何将大数据表复制到 MySql 表?
【发布时间】: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

【问题讨论】:

    标签: c# mysql wpf datatable


    【解决方案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对于这种情况没有带参数的解决方案。
      猜你喜欢
      • 2012-11-20
      • 2019-07-09
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      相关资源
      最近更新 更多