Jef*_*eff 5 .net c# sql-server smo
我正在使用SMO来执行批处理SQL脚本.在Management Studio中,脚本在大约2秒内执行.使用以下代码,大约需要15秒.
var connectionString = GetConnectionString();
// need to use master because the DB in the connection string no longer exists
// because we dropped it already
var builder = new SqlConnectionStringBuilder(connectionString)
{
InitialCatalog = "master"
};
using (var sqlConnection = new SqlConnection(builder.ToString()))
{
var serverConnection = new ServerConnection(sqlConnection);
var server = new Server(serverConnection);
// hangs here for about 12 -15 seconds
server.ConnectionContext.ExecuteNonQuery(sql);
}
Run Code Online (Sandbox Code Playgroud)
该脚本创建一个新数据库,并在几个表中插入几千行.得到的DB大小约为5MB.
任何人都有这方面的经验或建议为什么这可能会如此缓慢地与SMO运行?
SMO 在后台做了很多奇怪的事情,这是您为以面向对象的方式处理服务器/数据库对象的能力付出的代价。
既然您没有使用 SMO 的 OO 功能,为什么不完全忽略 SMO 并简单地通过普通 ADO 运行脚本呢?
| 归档时间: |
|
| 查看次数: |
4329 次 |
| 最近记录: |