Посмотрите на следующий код, я думаю, что он может вам помочь:
import importlib
name = 'MyFile.MyClass.startApp'
parts = name.split('.')
module_name, method_name = '.'.join(parts[:-1]), parts[-1]
module = importlib.import_module(module_name)
вы можете позвонить getattr(module, method_name)()
I think that your problem might be "Parameter sniffing". It is a process when SQL Server's execution environment "sniffs" the sp's parameter values during compilation or recompile to generate faster execution plans. But sometimes it gets a combination of parameters which together with the current data the sp will return makes a really slow sp.
There are a couple of good explanations out there. Search on Stackoverflow. This is one is good: http://omnibuzz-sql.blogspot.com/2006/11/parameter-sniffing-stored-procedures.html
One possible solution is to create local variables in the sp and set the incoming parameters values to them. Then use only the local variables in the sp.
CREATE PROCEDURE [dbo].spTest
@FromDate as DATETIME
AS
BEGIN
DECLARE @FromDate_local as DATETIME
SET @FromDate_local = '2009-01-01'
SET @FromDate_local = @FromDate
...
SELECT * FROM TestTbl WHERE FromDate >= @FromDate_local
END
Перекомпилирование - тупой инструмент. Скорее всего, это сниффинг параметров
См. Этот вопрос: Ошибка хранимой процедуры для конкретного пользователя
Спасибо за парней ответов, кажется, поскольку работающий sp_recompile решил проблему, по крайней мере все выполняло smothly, так как я выполнил его вчера во второй половине дня, буду продолжать наблюдать его и видеть, остается ли это быстрым.
Однако не понимайте, что перекомпилировали, не был сделан, когда я изменил содержание в SP?
Удостоверьтесь, что Ваша производственная база данных имеет актуальную статистику, и индексы в хорошем состоянии (если это возможно, считают восстановление индексов включенным).
Можно ли быть уверены, что нет появления ситуации с мертвой блокировкой? Выполнение от студии управления было бы изолировано, где как из приложения это могло бы быть частью большей транзакции.