Я могу думать о многих причинах этого решения о сохранении плановых планов в кэше планов, а не фактического плана. Но я не могу найти «правильный» ответ.
Я могу думать о многих причинах этого решения о сохранении плановых планов в кэше планов, а не фактического плана. Но я не могу найти «правильный» ответ.
Подумайте о том, что означает «фактический». Это то, что на самом деле происходит для выполнения этого плана.
Другое общее название для фактического плана выполнения - «план выполнения после» . В качестве реального примера для сопоставления этого сценария, скажем, вы планируете отправиться в путешествие по пересеченной местности, поэтому вы наметите маршруты, по которым вы собираетесь идти, и сколько времени, по вашему мнению, это займет. Но из-за дорожных работ и объездов это не происходит так, как вы планировали. Это фактический план выполнения: фактический маршрут, который вы выбрали, чтобы добраться туда, куда вы идете. Предполагаемый план был бы таким, каким вы думали , что будете делать, и каким маршрутом, по вашему мнению, вы должны идти.
Вы не можете хранить планы выполнения постов, потому что они просто ... выполнение постов . Они содержат показатели того, что действительно произошло, а не того, что SQL Server считает необходимым (примерный план выполнения).
Кэш планов на самом деле является просто хранилищем «карт», которые он может использовать повторно, не тратя дорогостоящее время на создание новой . Фактические планы выполнения - после факта , а кэш планов - до факта .