|
|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Tengiz Kharatishvili 2:5020/400 19 Jan 2001 23:02:19 To : All Subject : Re: RECOMPILE ? -------------------------------------------------------------------------------- "Alexandr Drobot" <shd@host.svit.kiev.ua> wrote in message news:9496gd$1gu$1@host.talk.ru... > sp_recompile V2 бодро сообщает: > Object 'V2' was successfully marked for recompilation. > :(( Эффект - никакой! > Что у меня неправильно, подскажите, пожалуйста... > Читаем Books Online, статья sp_recompile [@objname =] 'object' : "...If 'object' is the name of a table or view, all the stored procedures that reference the table or view will be recompiled the next time they are run." Т.е. sp_recompile заставит перекомпилироваться процедуры, которые ссылаются на view, а не сам view. Справедливости ради нужно заметить, что очень многие попадаются в эту ловушку. Что означает, что процедура (не она одна, кстати) названа крайне неудачно. В общем, будьте бдительны :-) Кроме того, существует терминологическая проблема, начало которой положил ещё Sybase. RECOMPILE для SQL Server означает переоптимизацию уже скомпилированного (в нормальной терминологии) выражения. Скажем, это нужно делать, когда изменяется структура индексов, или серьёзно изменилось наполнение таблиц и радикально поменялась статистика. При этом, оптимальные планы стали неоптимальными и пр. а сервер после этого не перезапускался (после перезапуска все процедуры перекомпилируются при первом вызове). В общем, sp_recompile - это совсем не то, что нужно в данной ситуации. В Вашем конкретном случае нужно выполнить оператор ALTER VIEW (или DROP/CREATE VIEW) для V2, как это не обидно: ALTER VIEW V2 AS SELECT * FROM V1 --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/657754468234.html, оценка из 5, голосов 10
|