0

我的任务是编写一个数据传输实用程序,一个要求是我将整个 MySQL 数据库从一台服务器复制到另一台服务器。当用户希望发生数据库传输时,他们只需单击一个按钮。

我对数据库有点缺乏经验,但我与他们合作过足以知道如何做我需要做的事情。最快的方法是什么?

我最初的想法是这样做:

  1. 获取所有表的列表
  2. Foreach 表,获取每个表的所有内容并将它们存储在内存中的 DataTable 中
  3. 将所有旧表备份到 CSV 文件
  4. 截断所有旧表
  5. 将新的 DataTables 插入到相应服务器上的相应数据库中

有没有更好、更有效的方法来做到这一点?

4

1 回答 1

0

DataTables 占用相当多的内存。小心使用这种方法,随着数据库大小的增加,这种方法会填满您的内存的可能性也会增加。我会考虑使用 mysql 命令行来备份/恢复并从您的代码中调用这些命令。

使用 Process.Start 方法 =>

Process process = new Process();
// Configure the process using the StartInfo properties.
process.StartInfo.FileName = "process.exe";
process.StartInfo.Arguments = "-n";
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
process.Start();
process.WaitForExit();// Waits here for the process to exit.
于 2013-05-15T13:19:28.800 回答