Я обновляю существующее веб-приложение ASP.Net с полнофункциональной функциональной базой SQL 2005 в качестве ее бэкэнд. Полнофункциональным функционалом я имею в виду, что есть много вещей (фактически почти ВСЕ операции CRUD), которые обрабатываются из БД с использованием SP.Общие предложения для SQL 2005 Framework Дизайн и реализация
Итак, мой первый вопрос заключается в том, что широкое использование SP полезно на основе таких параметров, как производительность, масштабируемость и безопасность? Я также прошу это в сравнении с последними вещами, как LINQ к SQL, каркасы Динамический генератор запросов, как NHibernate, и т.д ..
БД будет обрабатывать несколько миллионов записей в каждой таблице, мы» ве в обширны подстановках/связывающий процесс (я планирую использовать представления для него) Итак, беспокоит то, что стоит сохранить реализации «Crud» в СП - , очевидно, это также тащит некоторые проверки и бизнес-ограничения в SP-слой (я пытаюсь до минимизировать его), но все же, если его стоит эти три основных параметра - производительность, масштабируемость и безопасность компромисс доступен.
И несколько однострочечников для тех экспертов АБДА и ГУРУ программирования:
кэшируются физически @ МНЕНИЯ любого места на сервере? Или они так же, как типичная операция JOIN (В двух словах изгоняюсь я по-прежнему с использованием JOIN и между таблицами или создать МНЕНИЯ таких соединений)
Г-SQLs через EXEC ценность по сравнению с скомпилированным SQL в СП? Я имею в виду, что они обеспечивают большую гибкость, но тогда вся польза от «скомпилированного SQL» разрушена? Это значительно уменьшает сложность, но это влияет на производительность \ безопасность (т. Е. SQL-инъекцию и т. Д.) В обратном направлении?
Рамочный уровень: Shud CRUD операция пребывания в SP или сделать некоторые рамки обещают лучший компромисс, перетащив их в приложение (то есть LINQ-to-SQL, nHibernate и т. Д.) .. снова я считаю, что этот момент также связан с №2.
Учитывая все объяснения, которые я представил, какая структура предпочтительна для моих веб-приложений? Backend - это SQL Server 2005+.
Любые дополнительные творческие трюки приветствуются. Спасибо, что поделились своими знаниями.
Возможно, вам придется разбить это на несколько вопросов. Если необходимо, вы можете связать вопросы. –