Menulis SQL Server Stored Prosedur |
Microsoft SQL Server menyediakan mekanisme prosedur yang tersimpan untuk menyederhanakan proses pengembangan database dengan mengelompokkan pernyataan Transact-SQL ke dalam blok dikelola.Manfaat Prosedur TersimpanMengapa Anda harus menggunakan prosedur yang tersimpan? Mari kita lihat manfaat utama dari teknologi ini:
Eksekusi dikompilasi. SQL Server mengkompilasi setiap prosedur yang tersimpan sekali dan kemudian reutilizes rencana eksekusi. Ini menghasilkan kinerja yang luar biasa meningkatkan ketika disimpan prosedur yang disebut berulang kali.
Mengurangi client / server lalu lintas. Jika bandwidth jaringan merupakan masalah di lingkungan Anda, Anda akan senang mengetahui bahwa prosedur yang tersimpan dapat mengurangi query SQL lama untuk satu baris yang ditransmisikan melalui kawat.
Reuse efisien kode dan abstraksi pemrograman. Prosedur yang disimpan dapat digunakan oleh beberapa pengguna dan program klien. Jika Anda memanfaatkan mereka secara terencana, Anda akan menemukan siklus pengembangan membutuhkan waktu kurang.
Kontrol keamanan ditingkatkan. Anda dapat memberikan pengguna izin untuk menjalankan prosedur yang disimpan secara terpisah dari izin tabel yang mendasarinya.
Prosedur yang disimpan sangat mirip dengan fungsi yang ditetapkan pengguna, tetapi ada perbedaan halus. Untuk informasi lebih lanjut, baca Membandingkan Stored Prosedur dan Fungsi User-Defined.StrukturProsedur yang disimpan sangat mirip dengan konstruksi terlihat pada bahasa pemrograman lain. Mereka menerima data dalam bentuk parameter input yang ditentukan pada waktu eksekusi. Parameter input (jika diterapkan) yang digunakan dalam pelaksanaan serangkaian pernyataan yang menghasilkan beberapa hasil. Hasil ini dikembalikan ke lingkungan menelepon melalui penggunaan recordset, parameter output dan kode kembali. Itu mungkin terdengar seperti mulut penuh, tetapi Anda akan menemukan bahwa prosedur yang tersimpan sebenarnya cukup sederhana.ContohMari kita lihat contoh praktis. Asumsikan kita memiliki tabel yang ditampilkan di bagian bawah halaman ini, bernama Persediaan. Informasi ini diperbarui secara real-time dan manajer gudang terus-menerus memeriksa tingkat produk disimpan di gudang mereka dan tersedia untuk pengiriman. Di masa lalu, setiap manajer akan menjalankan query yang mirip dengan berikut:
SELECT Produk, Kuantitas
DARI Persediaan
MANA Gudang = 'FL'
Hal ini mengakibatkan kinerja yang sangat tidak efisien di SQL Server. Setiap kali seorang manajer gudang dieksekusi query, database server terpaksa ulang query dan menjalankannya dari awal. Hal ini juga diperlukan manajer gudang untuk memiliki pengetahuan tentang hak akses SQL dan tepat untuk mengakses informasi tabel.
Kita dapat menyederhanakan proses ini melalui penggunaan prosedur yang tersimpan. Mari kita membuat prosedur yang disebut sp_GetInventory yang mengambil tingkat persediaan untuk gudang tertentu. Berikut kode SQL:
CREATE PROSEDUR sp_GetInventory
@ Lokasi varchar (10)
AS
SELECT Produk, Kuantitas
DARI Persediaan
MANA Gudang = @ lokasi
Kami manajer Florida gudang kemudian dapat mengakses tingkat persediaan dengan mengeluarkan perintah
Jalankan sp_GetInventory 'FL'
The New York Manajer gudang dapat menggunakan prosedur yang tersimpan yang sama untuk mengakses persediaan yang daerah.
Jalankan sp_GetInventory 'NY'
Memang, ini adalah contoh sederhana, tapi manfaat abstraksi dapat dilihat di sini. Para manajer gudang tidak perlu memahami SQL atau inner prosedur. Dari perspektif kinerja, prosedur yang tersimpan akan bekerja keajaiban. SQL Sever menciptakan rencana eksekusi sekali dan kemudian reutilizes dengan menghubungkannya dengan parameter yang tepat pada waktu eksekusi.
Sekarang bahwa Anda telah belajar manfaat dari prosedur yang tersimpan, keluar sana dan menggunakannya! Cobalah beberapa contoh dan mengukur peningkatan kinerja dicapai - Anda akan kagum!
Tidak ada komentar:
Posting Komentar
stroom09@gmail.com