Различие в производительности между LINQ и хранимыми процедурами

Вы можете использовать window.open() для перенаправления на любой веб-сайт.

Например:

window.open('https://www.google.com');

реализовать перенаправление в вашем коде:

render () {
  if(this.isLogin) {
    return(/* your components*/);
  } else {
    window.open('https://www.google.com');
    return (
); //render function should return something } }

Вы также можете указать целевой атрибут или имя окна, более подробно см. [ 113] w3school учебник об этой функции .

14
задан Community 23 May 2017 в 12:02
поделиться

8 ответов

LINQ should be close in performance but I disagree with the statement above that says LINQ is faster, it can't be faster, it could possibly be just as as fast though, all other things being equal.

I think the difference is that a good SQL developer, who knows how to optimize, and uses stored procedures is always going to have a slight edge in performance. If you are not strong on SQL, let Linq figure it out for you, and your performance is most likely going to be acceptable. If you are a strong SQL developer, use stored procedures to squeeze out a bit of extra performance if you app requires it.

It certainly is possible if you write terrible SQL to code up some stored procedures that execute slower than Linq would, but if you know what you are doing, stored procedures and a Datareader can't be beat.

19
ответ дан 1 December 2019 в 10:04
поделиться

LINQ-запросы также могут (и должны быть) предварительно скомпилированы. У меня нет никаких ориентиров, которыми можно поделиться с вами, но я думаю, что все должны прочитать эту статью для справки о том, как это сделать. Мне было бы особенно интересно увидеть сравнение предварительно скомпилированных запросов LINQ с SPROCS.

3
ответ дан 1 December 2019 в 10:04
поделиться

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

3
ответ дан 1 December 2019 в 10:04
поделиться

Запросы LINQ2SQL не будут выполняться иначе, чем любые другие параметризованные SQL-запросы, кроме возможности того, что генератор может не оптимизировать запрос наилучшим образом.

2
ответ дан 1 December 2019 в 10:04
поделиться

Распространено мнение, что специальные SQL-запросы работают лучше, чем хранимые процедуры. Однако это неверно:

SQL Server 2000 и версия SQL Server 7.0 включают ряд изменений в обработку выписок, которые расширяют многие из преимуществ производительности хранится процедуры для всех операторов SQL. SQL Server 2000 и SQL Server 7.0 не сохранить частично составленный план для хранимые процедуры, когда они создано. Хранимая процедура компилируется во время выполнения, как и любой другой оператор Transact-SQL. SQL Server 2000 и SQL Server 7.0 сохраняют планы выполнения для всех операторов SQL в кеше процедур, а не только планы выполнения хранимых процедур.

- SqlServer's Books Online

Учитывая вышеизложенное и тот факт, что LINQ генерирует специальные запросы, я пришел к выводу, что между сохраненными процедурами и LINQ нет разницы в производительности. И я также склонен полагать, что SQL Server не будет двигаться назад с точки зрения производительности запросов.

1
ответ дан 1 December 2019 в 10:04
поделиться

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

Хранимые процедуры будут быстрыми, но когда вы активно разрабатываете приложение, вы можете обнаружить, что простота использования LINQ может быть положительной, как вы можете очень быстро измените свой запрос и свой анонимный тип, созданный из LINQ.

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

Это сравнение различных способов взаимодействия .NET 3.5 с базой данных может оказаться полезным. http://toomanylayers.blogspot.com/2009/01/entity-framework-and-linq-to-sql.html

0
ответ дан 1 December 2019 в 10:04
поделиться

См. LINQ-to-SQL против хранимых процедур для справки - я думаю, что пост содержит больше всего информации. тебе нужно.

0
ответ дан 1 December 2019 в 10:04
поделиться

Рассмотрим таблицу базы данных с миллионом записей, соединенную с другой таблицей с миллионом записей ... вы действительно думаете, что выполнение этого на веб-сервере (будь то LINQ или специальный SQL) будет быстрее или более эффективно, чем позволить SQL Server делать это в базе данных?

Для простых запросов LINQ, очевидно, лучше, поскольку он будет предварительно скомпилирован, что дает вам преимущество проверки типов и т. д. Однако для любых интенсивных операций с базой данных , построение отчетов, необходимый анализ массовых данных, хранимые процедуры победят.

-3
ответ дан 1 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

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