SQL Server Disimpen Prosedur

Prosedur disimpen nganteurkeun Kekecapan High na Kaamanan Mangpaat

Microsoft SQL Server nyadiakeun mékanisme prosedur disimpen kana simplify proses ngembangkeun database ku ngagolongkeun pernyataan Transact-SQL kana blok manageable. prosedur disimpen keur ngaapresiasi ku paling pamekar SQL Server anu manggihan mangpaat efisiensi sarta kaamanan aranjeunna Fedi aya alusna sia investasi upfront dina jangka waktu.

Mangpaat Maké Prosedur Disimpen

Kunaon a pamakéan pamekar kedah disimpen prosedur?

Di dieu mangpaat konci téhnologi ieu:

prosedur disimpen téh sarupa jeung fungsi-diartikeun pamaké, tapi aya béda halus.

struktur

prosedur disimpen aya nu sarupa jeung constructs ditempo dina basa programming lianna.

Aranjeunna nampa data di formulir parameter input nu dieusian di waktu palaksanaan. parameter input ieu (lamun dilaksanakeun) anu garapan dina dijalankeunnana runtuyan pernyataan anu ngahasilkeun sababaraha hasil. hasilna ieu balik ka lingkungan nélépon ngaliwatan pamakéan a recordset, parameter kaluaran jeung kode mulang.

Nu bisa disada kawas sahuap, tapi anjeun nimu nu prosedur disimpen sabenerna cukup basajan.

conto

Hayu urang nyandak katingal di hiji conto praktis patali tabel ngaranna inventory ditémbongkeun di handap kaca ieu. Inpo ieu diropéa sacara real waktu, sarta manajer gudang terus mariksa tingkat produk disimpen dina gudang maranéhanana sarta sadia keur kiriman. Baheula, unggal manajer bakal ngajalankeun queries sarupa di handap ieu:

MILIH Produk, kuantitas
FROM inventory
WHERE Gudang = 'FL'

Hal ieu nyababkeun kinerja episien di SQL Server. Unggal waktos a manajer gudang dieksekusi pamundut, nu server database kapaksa recompile query jeung ngaéksekusi eta ti scratch. Ogé diperlukeun dina manajer gudang keur gaduh pangaweruh ngeunaan SQL sarta idin luyu pikeun ngakses informasi méja.

Gantina, prosesna bisa disederhanakeun ngaliwatan pamakéan prosedur disimpen. Di dieu Éta kodeu keur prosedur disebut sp_GetInventory yén retrieves tingkat inventory pikeun gudang dibikeun.

Jieun prosedur sp_GetInventory
@location varchar (10)
AS
MILIH Produk, kuantitas
FROM inventory
WHERE Gudang = @location

The Florida manajer gudang lajeng bisa ngakses tingkat inventory ku ngaluarkeun sorana:

Hajar sp_GetInventory 'FL'

The New York manajer gudang tiasa make prosedur disimpen sami ngakses inventory nu aréa urang:

Hajar sp_GetInventory 'Ny'

Teges, ieu téh mangrupa conto basajan, tapi mangpaat abstraksi bisa ditempo di dieu. The manajer gudang teu kedah ngartos SQL atawa workings jero prosedur. Ti sudut pandang kinerja, prosedur disimpen jalan keajaiban. The SQL Server nyiptakeun hiji rencana eksekusi sakali lajeng reutilizes eta ku plugging dina parameter luyu dina waktu palaksanaan.

Ayeuna nu geus diajar mangpaat prosedur disimpen, meunang kaluar aya jeung dipake ku maranehna.

Coba sababaraha conto na ngukur perbaikan kinerja kahontal-you'll jadi amazed!

inventory Table

ID barang gudang kuantitas
142 Kacang héjo Ny 100
214 kacang FL 200
825 Jagong Ny 140
512 kacang Cianjur Ny 180
491 Omat FL 80
379 Samangka FL 85