Dlaczego procedury składowane muszą być ponownie kompilowane?

Dlaczego procedury składowane muszą być ponownie kompilowane?
Dlaczego procedury składowane muszą być ponownie kompilowane?
Anonim

Zalecenia. Gdy procedura jest kompilowana po raz pierwszy lub ponownie, plan zapytań procedury jest optymalizowany pod kątem bieżącego stanu bazy danych i jej obiektów. … Innym powodem wymuszenia ponownej kompilacji procedury jest przeciwdziałanie zachowaniu „podsłuchiwania parametrów” podczas kompilacji procedury.

Czy należy unikać procedur składowanych?

Procedury przechowywane promują złe praktyki programistyczne, w szczególności wymagają one naruszenia DRY (Don't Repeat Yourself), ponieważ musisz wpisać listę pól w swoim tabela bazy danych co najmniej pół tuzina razy lub więcej. Jest to ogromny problem, jeśli chcesz dodać pojedynczą kolumnę do tabeli bazy danych.

Co to jest Sp_recompile?

sp_recompile szuka obiektu tylko w bieżącej bazie danych. Zapytania używane przez procedury składowane lub wyzwalacze oraz funkcje zdefiniowane przez użytkownika są optymalizowane tylko wtedy, gdy są kompilowane. … SQL Server automatycznie ponownie kompiluje procedury składowane, wyzwalacze i funkcje zdefiniowane przez użytkownika, gdy jest to korzystne.

Co robi z rekompilacją w SQL?

RECOMPILE – określa że po wykonaniu zapytania plan wykonania zapytania przechowywany w pamięci podręcznej jest usuwany z pamięci podręcznej. Gdy to samo zapytanie zostanie ponownie wykonane, w pamięci podręcznej nie będzie żadnego planu, więc zapytanie będzie musiało zostać ponownie skompilowane.

Czy procedury składowane są wydajne?

Obejmuje to takie rzeczy, jak białe znaki i rozróżnianie wielkości liter. Jest znacznie mniej prawdopodobne, że zapytanie wewnątrz procedury składowanej ulegnie zmianie w porównaniu z zapytaniem osadzonym w kodzie. … Z tego powodu procedura składowana może faktycznie być wykonywana szybciej, ponieważ była w stanie ponownie wykorzystać plan z pamięci podręcznej.

Zalecana: