Профиль. Профиль. Профиль.
Профиль, чтобы точно определить, какой запрос потребляет больше всего ресурсов, и повысить производительность этого запроса. Вы можете использовать свойство Log DataContext для просмотра SQL - см. эту статью . Вы можете получить планы запросов для запросов в SQL Server - см. эту статью .
Примеры способов улучшения запроса:
- Добавить отсутствующие индексы.
- Перепишите запрос, чтобы воспользоваться уже существующими индексами.
- Не извлекайте слишком много данных за запрос - используйте подкачку страниц и извлекайте больше строк только по запросу. Не выбирайте поля, которые вам не нужны.
- Не извлекайте слишком мало данных за запрос - не создавайте цикл, извлекающий по одной строке за раз. Получить много строк одновременно.
После того, как вы это сделаете, снова профилируйте, чтобы проверить, улучшили ли вы производительность этого запроса. Если нет, повторяйте, пока не получите.
Затем снова выполните профилирование, чтобы увидеть следующий запрос-убийцу и повторяйте процесс до тех пор, пока ваша производительность не станет приемлемой.
Вы говорите, что у вас уже есть профилирование, но вы не опубликовали никакой информации о профилировании, такой как запросы, планы запросов, время выполнения, частота запросов и т. Д. Без дополнительной информации о профилировании все, что мы можем сделать, - это угадать.