индексы, планы и ХП
индексы, планы и ХП
В базе есть несколько кривых индексов полезность у которых стремится к 0. хотелось бы их удалить. Но в базе так же полно ХП. Насколько я помню план на селекты в ХП хранится уже в самих ХП и соответсвенно использует те или иные индексы. Что будет если индекс используемый в плане будет удален? Есть ли возможность перекомпилять все ХП не прибегая к б/р или тулзам как IBExpert?
Расслабься. Нигде планы не запоминаются, если не указаны явно. Если индекс где-то указан явно, удалить его не дадут. Если нет - запросы в процедурах, цеплявшие ранее этот индекс, просто начнут работать с другим планом. Но тут есть нюанец - может получиться так, что новый план будет хуже старого. Подозрительные запросы надо проверить.
Кто-то писал что планы хранятся в компиленных процедурах.Merlin писал(а):Расслабься. Нигде планы не запоминаются, если не указаны явно. Если индекс где-то указан явно, удалить его не дадут. Если нет - запросы в процедурах, цеплявшие ранее этот индекс, просто начнут работать с другим планом. Но тут есть нюанец - может получиться так, что новый план будет хуже старого. Подозрительные запросы надо проверить.
Проверил текст блр - нет никакой разницы. (блин чего же раньше ума не хватило). соответсвенно, выглядит что план не хранится в ХП.
в "Мифах" на сайте это валяется уже года два. А собственно, известно было что это вранье, с самого начала. Просто после того как процедура загружена в кэш метаданных планы ее запросов сформированы, и действительно не меняются. Но только до тех пор, пока она в кэше.Кто-то писал что планы хранятся в компиленных процедурах.