Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
felix_ff Member Откуда: Moscow Сообщений: 1698 |
Доброго времени, Сейчас копался в кэше планов и вдруг обратил внимание что есть столбец parent_plan_handle O_o Понял что ни в зуб ногой о данном столбце и полез в BOL, а там о нем тоже ничего. https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-cached-plans-transact-sql Судя из названия у плана может быть родительский объект, кто может рассказать в каких случаях он может быть и когда вообще можно наблюдать в sys.dm_exec_cached_plans parent_plan_handle is not NULL? |
29 мар 18, 22:10 [21297698] Ответить | Цитировать Сообщить модератору |
_human Member Откуда: Сообщений: 566 |
felix_ff, действительно ничего нет в доках ![]() скорее всего оно и ненужно вовсе... тьІц К сообщению приложен файл. Размер - 9Kb |
30 мар 18, 14:47 [21299669] Ответить | Цитировать Сообщить модератору |
felix_ff Member Откуда: Moscow Сообщений: 1698 |
_human, да видел этот текст в гуглдоках. возможно добавлено для использования в будущих версиях или наоборот internaluseonly. просто не понятно. sys.dm_exec_cached_plans документирована, чтож мелкософт так хреново то документацию ведет. |
30 мар 18, 16:48 [21300244] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
felix_ff, если не документировано, то они не гарантируют поведение/изменение и т.п. |
30 мар 18, 16:50 [21300249] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3206 |
_human, А чем это определение отличается от просто plan_handle? |
30 мар 18, 16:55 [21300262] Ответить | Цитировать Сообщить модератору |
felix_ff Member Откуда: Moscow Сообщений: 1698 |
TaPaK, ну они могли в документации как всегда написать
или как у sys.dm_os_threads.[thread_handle] - Только для внутреннего использования. Так вопросов было бы меньше, типо не используйте "это наша прелесть". А когда ни слова не сказано возникает творческий азарт узнать а для чего оно там есть. Кстати этот parent_plan_handle присутствует как атрибут в каждом плане если смотреть через sys.dm_exec_plan_attributes |
|||
30 мар 18, 17:00 [21300275] Ответить | Цитировать Сообщить модератору |
felix_ff Member Откуда: Moscow Сообщений: 1698 |
Eleanor, Такое впечатление что в той книжке это определение предназначалось именно для plan_handle. Я прошерстил все сервера к которым руки дотянулись и пока нигде не встретил где значение в этом столбце было отлично от NULL |
30 мар 18, 17:02 [21300287] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3206 |
Аналогично - проверила все сервера в 2-х компаниях. Посмотрела в книге Microsoft SQL Server 2012 Internals - у авторов была какая-то особая версия Sql Server, где поле parent_plan_handle еще отсутствовало. Хотя именно в 2012 поле и появилось. |
||
30 мар 18, 17:09 [21300308] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3206 |
felix_ff, Кстати, в документации по sys.dm_exec_plan_attributes внизу есть комментарий, что не описано целых 6 полей. |
30 мар 18, 17:13 [21300326] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |