2014-03-24 27 views
0

我有一个'基础'数据库,充满各种表格中的通用信息。该数据库是为每个用户创建的,因此他们拥有自己的版本并可以修改相同的信息以满足他们的需求。如何从c#复制数据库?

我使用更改更新基础数据库,以便新用户在注册时获取更新。

我的应用程序是使用MySQL后端的Entity Framework 4.1上的MVC3站点。

目前我做上面使用以下步骤这个过程:

  1. 在数据库上运行的mysqldump来获得一个.sql文件
  2. 更新生成的文件以更改数据库名称的用户名
  3. 使用新的脚本

不过我最近迁移到Azure上运行一个MySQL导入这个过程似乎比旧的物理服务器很慢(类似b稍高的规格)。

有没有更好的方法可以做到这一点,可能会删除IO进程,并有可能提高整体速度?

+0

你为什么不简单地创建一个数据库,只安全的用户特定的设置?您的方法浪费资源,并且可以通过使用正常化表格的适当数据库布局轻松避免。 – Robert

+0

你说得对,这是一个很大的资源开销,但是我选择这种方法有以下几个原因:1)它可以让我单独恢复数据库,而无需浏览其他任何用户数据。 2)更安全,如果有人从应用程序以某种方式进入他们的数据库,那么他们所得到的就是他们自己的数据(没有什么能够阻止他们明显地破坏服务器本身),3)某些表可能变得很大,因此打破它们试图加速一些大型查询(多表嵌套选择) – Dratta

回答

0

改变了我的方法,现在我只有一个'Please wait'动画,显示服务器执行繁重的工作。