У меня есть веб-сайт .net 3.5, который вызывает тысячи различных хранимых процедур с использованием Microsoft.Practices.EnterpriseLibrary.
У нас было много тайм-аутов, и после некоторых игр и тестирования использование (nolock) в конце объединения таблиц в хранимых процессах работает очень хорошо и сокращает тайм-ауты.
Теперь я хочу сделать это для всех sps. Я мог бы добавить (nolock) ко всем именам таблиц, однако лучше установить уровень изоляции, используя в SQL «SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED»
Я не хочу добавлять это в начало всех sp (поскольку их так много), поэтому искал способ добавить его в соединение.
Пример кода для вызова sp выглядит следующим образом
public static int ExecuteNonQuery(string sStoredProcedureName, params object[] parameterValues)
{
Data.Database db = Data.DatabaseFactory.CreateDatabase();
using (DbCommand command = db.GetStoredProcCommand(sStoredProcedureName, parameterValues))
{
return db.ExecuteNonQuery(command);
}
}
Я думаю, что этот параметр является параметром конфигурации в web.config, но не могу понять, что это такое, или я на правильном пути.
Любая помощь очень ценится.
Ура Амджид