Прежде всего, имейте в виду, что предварительно скомпилированные запросы по-прежнему занимают столько же времени (фактически немного дольше) при первом запуске, поскольку запросы компилируются при первом вызове.После первого вызова вы должны увидеть значительное увеличение производительности по отдельным запросам.
Однако вы найдете лучший ответ на все вопросы производительности: сначала выясните, что занимает больше всего времени, а затем работайте над улучшениемв этой области.До тех пор, пока вы не запустите профилировщик и не узнаете, где блокируется ваша система, любое потраченное время на попытки ускорить процесс, скорее всего, будет потрачено впустую.
Как только вы определили, что занимает больше всего времени, есть многоиз возможных методов, которые можно использовать для ускорения работы:
- Кэширование данных, которые меняются не часто
- Реструктуризация доступа к данным, чтобы вы извлекали нужные данные за меньшее количество циклов.
- Обеспечение того, чтобы при запросах к базе данных вы не извлекали больше данных, чем вам нужно.
- Покупаете лучшее оборудование.
- ... и многие другие
Последнее замечание: в Entity Framework 5 планируется реализовать автоматическое кэширование запросов, что сделает предварительную компиляцию запросов практически бесполезной.Поэтому я рекомендую делать это только тогда, когда вы точно знаете, что вы получите значительное улучшение.