Почему кэш планов содержит приблизительные, а не фактические планы выполнения?


8

Я могу думать о многих причинах этого решения о сохранении плановых планов в кэше планов, а не фактического плана. Но я не могу найти «правильный» ответ.

Ответы:


12

Подумайте о том, что означает «фактический». Это то, что на самом деле происходит для выполнения этого плана.

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

Вы не можете хранить планы выполнения постов, потому что они просто ... выполнение постов . Они содержат показатели того, что действительно произошло, а не того, что SQL Server считает необходимым (примерный план выполнения).

Кэш планов на самом деле является просто хранилищем «карт», которые он может использовать повторно, не тратя дорогостоящее время на создание новой . Фактические планы выполнения - после факта , а кэш планов - до факта .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.