Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menyediakan tips untuk mengembangkan solusi kumpulan SQL khusus dengan menerapkan prosedur tersimpan.
Apa yang diharapkan
Kumpulan SQL khusus mendukung banyak fitur T-SQL yang digunakan di SQL Server. Lebih penting lagi, ada fitur spesifik peluasan skala yang dapat Anda gunakan untuk memaksimalkan performa solusi Anda.
Selain itu, untuk membantu Anda mempertahankan skala dan performa kumpulan SQL khusus, ada fitur dan fungsionalitas tambahan yang memiliki perbedaan perilaku.
Memperkenalkan prosedur tersimpan
Prosedur tersimpan adalah cara yang bagus untuk merangkum kode SQL Anda, yang disimpan dekat dengan data kumpulan SQL khusus Anda. Prosedur tersimpan juga membantu pengembang memodulasi solusi mereka dengan merangkum kode ke dalam unit yang dapat dikelola, sehingga memfasilitasi penggunaan kembali kode yang lebih besar. Setiap prosedur tersimpan juga dapat menerima parameter untuk membuatnya lebih fleksibel.
Kumpulan SQL khusus menyediakan implementasi prosedur tersimpan yang lebih sederhana dan efisien. Perbedaan terbesar dibandingkan dengan SQL Server adalah bahwa prosedur tersimpan bukan kode yang telah dikompilasi sebelumnya.
Secara umum, untuk gudang data, waktu kompilasi kecil dibandingkan dengan waktu yang diperlukan untuk menjalankan kueri terhadap volume data besar. Lebih penting untuk memastikan kode prosedur tersimpan dioptimalkan dengan benar untuk kueri yang besar.
Petunjuk
Tujuannya adalah untuk menghemat jam, menit, dan detik, bukan milidetik. Jadi, sangat membantu untuk memikirkan prosedur tersimpan sebagai kontainer untuk logika SQL.
Saat kumpulan SQL khusus menjalankan prosedur tersimpan Anda, pernyataan SQL diurai, diterjemahkan, dan dioptimalkan pada waktu proses. Selama proses ini, setiap pernyataan dikonversi menjadi kueri terdistribusi. Kode SQL yang dijalankan terhadap data berbeda dari kueri yang dikirimkan.
Penyusunan prosedur tersimpan bersarang
Ketika prosedur tersimpan memanggil prosedur tersimpan lainnya, atau menjalankan SQL dinamis, prosedur tersimpan dalam atau pemanggilan kode dikatakan berlapis.
Kumpulan SQL khusus mendukung maksimum delapan tingkat bersarang. Sebaliknya, tingkat sarang di SQL Server adalah 32.
Panggilan prosedur tersimpan tingkat atas sama dengan tingkat sarang 1.
EXEC prc_nesting
Jika prosedur tersimpan juga melakukan panggilan EXEC lain, tingkat sarang meningkat menjadi dua.
CREATE PROCEDURE prc_nesting
AS
EXEC prc_nesting_2 -- This call is nest level 2
GO
EXEC prc_nesting
Jika prosedur kedua kemudian menjalankan beberapa SQL dinamis, tingkat sarang meningkat menjadi tiga.
CREATE PROCEDURE prc_nesting_2
AS
EXEC sp_executesql 'SELECT 'another nest level' -- This call is nest level 2
GO
EXEC prc_nesting
Kumpulan SQL khusus saat ini tidak mendukung @@NESTLEVEL. Dengan demikian, Anda perlu melacak tingkat sarang. Tidak mungkin Anda akan melebihi batas delapan tingkat sarang. Namun, jika Anda melakukannya, Anda perlu mengubah kode Anda agar sesuai dengan tingkat bersarang dalam batas ini.
MASUKKAN.. EKSEKUSI
Kumpulan SQL khusus tidak mengizinkan Anda untuk menggunakan kumpulan hasil prosedur tersimpan dengan pernyataan INSERT. Namun, ada pendekatan alternatif yang dapat Anda gunakan. Misalnya, lihat artikel tentang tabel sementara.
Keterbatasan
Ada beberapa aspek prosedur tersimpan Transact-SQL yang tidak diterapkan di kumpulan SQL khusus, yaitu sebagai berikut:
- prosedur tersimpan sementara
- prosedur bernomor tersimpan
- prosedur tersimpan yang diperluas
- Prosedur tersimpan CLR
- opsi enkripsi
- opsi replikasi
- parameter berbentuk tabel
- parameter hanya-baca
- parameter bawaan
- konteks eksekusi
- pernyataan return
Langkah berikutnya
Untuk tips pengembangan selengkapnya, lihat ringkasan pengembangan.