CLR SQL Server 2008 по сравнению с T-SQL: существует ли эффективность/различие в скорости?

Я - разработчик C#, который сделал некоторую основную работу базы данных в T-SQL. Однако я должен записать очень сложную хранимую процедуру, много больше моего знания T-SQL.

Будет запись хранимой процедуры в C# с помощью .net CLR в качестве части SQL Server, 2008 заставляет мою хранимую процедуру быть менее эффективной, чем если бы это было записано в T-SQL? Различие (если таковые имеются) значительно? Почему?

5
задан Solomon Rutzky 16 October 2015 в 21:38
поделиться

2 ответа

CLR требуют некоторой коммуникационной головки (передавать данные между CLR и SQL Server )

Решеновое правило:

  • Если ваша логика в основном включает в себя преобразования массивных наборов данных, которые могут быть выполнены с использованием заданных операций, затем используют TSQL .

  • Если ваша логика в основном включает в себя сложные вычисления относительно небольшого количества данных, используют CLR .

С заданными операциями гораздо больше можно сделать, чем кажется. Если вы разместите свои требования здесь, наверное, мы сможем помочь.

8
ответ дан 18 December 2019 в 14:46
поделиться

IMHO также важно, чтобы информация сеанса менялась после успешного входа в систему. Сохранение сведений о сеансе в базе данных не выполняется из-за инъекций.

-121--3579475-

Просто создайте переменную запроса перед определениями представления и задайте ее значение при получении ее из представления (с помощью кода примера):

current_request = None

foo(request):
    current_request = request
    # stuff here
    bar()
    # more stuff here

bar():
     # stuff here
    baz()
     # more stuff here

baz():
    # do something with currest_request here

См.: Примечания к области переменных Python

Обновление: Этот вопрос очень похож на ваш, и принятое решение в основном создает

-121--4518479-

См. раздел Производительность интеграции CLR :

В этом разделе рассматриваются некоторые из варианты дизайна, которые улучшают производительность Microsoft SQL Server интеграция с Microsoft .NET Среда выполнения общего языка рамка (CLR).

5
ответ дан 18 December 2019 в 14:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: