Какое наиболее распространенное и простое в реализации решение для повышения скорости работы с базой данных SQL Server 2008R2 и приложением .Net 3.5.
У нас есть приложение со следующими атрибутами:
- небольшое количество одновременных клиентов (~ 200 на MOST).
- сложные математические операции на стороне SQL-сервера
- мы имитируем что-то для Oracle безопасности на уровне строк (таким образом, мы используем tvf и хранимые процессы вместо прямого запроса таблиц)
-Главная проблема заключается в том, что пользователи выполняют большое количество обновлений / вставок / удалений / вычислений, и они нервничают, потому что им нужно дождаться перезагрузки страниц, пока эти действия будут выполнены.
Мне нужно прояснить следующие вопросы:
- Что быстрее: возврат всего набора данных с сервера sql и выполнение математических функций на стороне C # или выполнение функций вычислений на стороне sql (таким образом, без возврата дополнительных столбцов). Или это зависит только от оборудования?
- Улучшит ли кеширование производительность (например, если мы добавим кеш Redis). Или решения для кэширования возможны только для большого количества клиентов?
- Является ли плохой практикой предварительный расчет некоторых данных и их хранение где-нибудь в базе данных (так, когда пользователь запросит, они уже будут вычислены).Или это то, что кеширование должно делать? Если это не плохая практика, как настроить SQL-сервер для выполнения вычислений при наличии доступных ресурсов?
- Как кэширование может повысить производительность, если ему все еще нужно обратиться к базе данных и посмотреть, были ли обновлены какие-либо записи?
] общие предложения и комментарии также приветствуются.
задан user194076 24 February 2012 в 21:10
поделиться