SQL Server хадгалалтын журмууд

Хадгалагдсан горимууд Өндөр үр ашигтай, аюулгүй байдлын үр өгөөжийг өгдөг

Microsoft SQL Server нь Transact-SQL мэдэгдлүүдийг удирдах боломжтой блок болгон бүлэглэн мэдээллийн баазыг хөгжүүлэх процессыг хялбаршуулахад хадгалагдсан журмыг олгодог. Ихэнх SQL Server боловсруулагчид үр өгөөж, аюулгүй байдлын үр ашгийг олж авдаг нь цаг хугацаанд нь хөрөнгө оруулалт хийхэд тохиромжтой байдаг.

Хадгалагдсан төлбөрийн аргыг ашиглах нь ашиг тус

Хөгжүүлэгчид яагаад хадгалалтын процедурыг ашиглах ёстой гэж?

Энэ технологийн гол давуу талууд:

Хадгалагдсан горим нь хэрэглэгчийн тодорхойлсон функцтэй төстэй боловч нарийн ялгаа байдаг.

Бүтэц

Хадгалагдсан горим нь бусад програмчлалын хэл дээр үзсэн бүтэцтэй төстэй.

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

Энэ нь амнаасаа аятайхан сонсогдож болох юм, гэхдээ хадгалсан процедурууд нь маш энгийн байдаг.

Жишээ нь

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

Бүтээгдэхүүн сонгох, тоо хэмжээ
FROM Бараа материал
WHERE Warehouse = 'FL'

Энэ нь SQL Server-ийн үр ашиггүй гүйцэтгэлийг бий болгосон. Агуулахын менежер нь хайлт хийсний дараа өгөгдлийн сангийн сервер нь хүсэлтийг дахин хөрвүүлж, үүнийг эхнээс нь гүйцэтгэхийг шаарддаг. Мөн агуулах менежер нь SQL мэдээлэл болон хүснэгтийн мэдээллийг авахын тулд зохих зөвшөөрлийг авах шаардлагатай болсон.

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

АЖИЛЛАГААНЫ АЖИЛЛАГАА sp_GetInventory
@location varchar (10)
AS
Бүтээгдэхүүн сонгох, тоо хэмжээ
FROM Бараа материал
WHERE Warehouse = @ байршил

Флоридагийн агуулах менежер нь дараах тушаалыг өгснөөр бараа материалын түвшинд хандаж болно:

EXECUTE sp_GetInventory 'FL'

Нью Йоркийн агуулахын менежер нь тухайн газар нутгийн бараа материалтай танилцахын тулд ижил хадгалагдсан журмыг ашиглаж болно:

EXECUTE sp_GetInventory 'NY'

Энэ бол энгийн жишээ юм, гэхдээ хийсвэрлэлийн үр ашиг энд харагдана. Агуулахын менежер нь SQL эсвэл дотоод журмыг ойлгох шаардлагагүй. Гүйцэтгэлийн үүднээс авч үзвэл хадгалагдсан процедур гайхамшигтай ажилладаг. SQL Server нь гүйцэтгэлийн төлөвлөгөөг нэг удаа боловсруулж, дараа нь гүйцэтгэлийн хугацаанд тохирох параметрүүдийг дахин залган дахин дахин ачаална.

Одоо та хадгалагдсан журмын үр дүнг сурч, тэндээс гарч, тэдгээрийг ашигла.

Хэд хэдэн жишээг үзээд гүйцэтгэлийг сайжруулах арга хэмжээнүүдийг хэмжиж үзээрэй-та бүхнийг гайхшруулаарай!

Бараа материалын хүснэгт

ID Бүтээгдэхүүн Агуулах Тоо хэмжээ
142 Ногоон шош NY 100
214 Peas FL 200
825 Corn NY 140
512 Лима шош NY 180
491 Улаан лооль FL 80
379 Тарвас FL 85