Страница 1 из 1
индексы, планы и ХП
Добавлено: 26 апр 2005, 20:20
deesy
В базе есть несколько кривых индексов полезность у которых стремится к 0. хотелось бы их удалить. Но в базе так же полно ХП. Насколько я помню план на селекты в ХП хранится уже в самих ХП и соответсвенно использует те или иные индексы. Что будет если индекс используемый в плане будет удален? Есть ли возможность перекомпилять все ХП не прибегая к б/р или тулзам как IBExpert?
Добавлено: 26 апр 2005, 20:39
Merlin
Расслабься. Нигде планы не запоминаются, если не указаны явно. Если индекс где-то указан явно, удалить его не дадут. Если нет - запросы в процедурах, цеплявшие ранее этот индекс, просто начнут работать с другим планом. Но тут есть нюанец - может получиться так, что новый план будет хуже старого. Подозрительные запросы надо проверить.
Добавлено: 26 апр 2005, 20:56
deesy
Merlin писал(а):Расслабься. Нигде планы не запоминаются, если не указаны явно. Если индекс где-то указан явно, удалить его не дадут. Если нет - запросы в процедурах, цеплявшие ранее этот индекс, просто начнут работать с другим планом. Но тут есть нюанец - может получиться так, что новый план будет хуже старого. Подозрительные запросы надо проверить.
Кто-то писал что планы хранятся в компиленных процедурах.
Проверил текст блр - нет никакой разницы. (блин чего же раньше ума не хватило). соответсвенно, выглядит что план не хранится в ХП.
Добавлено: 27 апр 2005, 00:42
dimitr
deesy писал(а):Кто-то писал
плюнь ему в глаз
Добавлено: 27 апр 2005, 09:42
kdv
Кто-то писал что планы хранятся в компиленных процедурах.
в "Мифах" на сайте это валяется уже года два. А собственно, известно было что это вранье, с самого начала. Просто после того как процедура загружена в кэш метаданных планы ее запросов сформированы, и действительно не меняются. Но только до тех пор, пока она в кэше.