Хадгалагдсан процедурыг яагаад дахин эмхэтгэх шаардлагатай байна вэ?

Хадгалагдсан процедурыг яагаад дахин эмхэтгэх шаардлагатай байна вэ?
Хадгалагдсан процедурыг яагаад дахин эмхэтгэх шаардлагатай байна вэ?
Anonim

Зөвлөмж. Процедурыг анх удаа эмхэтгэх эсвэл дахин эмхэтгэх үед процедурын асуулгын төлөвлөгөөг өгөгдлийн сан болон түүний объектуудын одоогийн төлөв байдалд тохируулан оновчтой болгодог. … Процедурыг дахин эмхэтгэхэд албадах бас нэг шалтгаан бол процедурын эмхэтгэлийн "параметр үнэрлэх" үйлдлийг эсэргүүцэх явдал юм.

Хадгалагдсан процедураас зайлсхийх ёстой юу?

Хадгалагдсан процедур нь хөгжүүлэлтийн муу туршлагыг дэмжинэ, ялангуяа та DRY (Өөрийгөө бүү давт)-ыг зөрчихийг шаарддаг, учир нь та өөрийн талбарын жагсаалтыг бичих хэрэгтэй. өгөгдлийн сангийн хүснэгтийг дор хаяж хагас арван удаа эсвэл түүнээс дээш. Хэрэв та өгөгдлийн сангийн хүснэгтэд нэг багана нэмэх шаардлагатай бол энэ нь маш их зовлон юм.

Sp_recompile гэж юу вэ?

sp_recompile одоогийн өгөгдлийн сангаас зөвхөн объектыг хайдаг. Хадгалагдсан процедур эсвэл триггер болон хэрэглэгчийн тодорхойлсон функцуудад ашигладаг асуулга нь эмхэтгэсэн үед л оновчтой болдог. … Үүнийг хийх нь ашигтай үед SQL Server нь хадгалагдсан процедур, триггер болон хэрэглэгчийн тодорхойлсон функцуудыг автоматаар дахин эмхэтгэдэг.

Recompile нь SQL-д юу хийдэг вэ?

ДАХИН ХЭРЭГЛЭХ – асуулга гүйцэтгэсний дараа кэшэд хадгалагдсан асуулгын гүйцэтгэлийн төлөвлөгөө нь кэшээс устгагдах болно. Ижил хайлтыг дахин гүйцэтгэх үед кэшэд одоо байгаа төлөвлөгөө байхгүй тул асуулгыг дахин эмхэтгэх шаардлагатай болно.

Хадгалагдсан процедур үр дүнтэй юу?

Үүнд цагаан зай, жижиг үсгийн мэдрэмж зэрэг зүйлс орно. Хадгалагдсан процедурын доторх асуулга код дотор суулгагдсан асуулгатай харьцуулахад өөрчлөгдөх магадлал хамаагүй бага байдаг. … Үүнээс болоод хадгалагдсан процедур нь кэшэд хадгалагдсан төлөвлөгөөг дахин ашиглах боломжтой байсан тул илүү хурдан ажиллаж магадгүй.

Зөвлөмж болгож буй: