Mencari jawaban kanonik untuk pertanyaan mengapa paket harus lebih disukai dalam database Oracle daripada prosedur dan fungsi yang berdiri sendiri.
Manfaat Paket
Pengelompokan logis - Metode yang bekerja bersama dapat dimasukkan ke dalam unit kohesif daripada hanya secara logis digabungkan tetapi secara fisik terpisah.
Metode Pribadi Aman - Fungsi dan Prosedur dapat dibuat pribadi untuk paket dan hanya digunakan di dalamnya. Ini membuat permukaan publik lebih sederhana dan lebih aman.
Manajemen Privilege - Izin dapat diberikan satu kali untuk sekelompok prosedur yang bekerja bersama daripada secara terpisah untuk setiap prosedur / fungsi yang diperlukan.
Secure Wrapping - Paket yang dibungkus lebih sulit untuk dibuka daripada fungsi / prosedur yang dibungkus.
Penamaan Sederhana - Ruang nama yang lebih besar memungkinkan nama yang lebih sederhana dan dapat digunakan kembali dalam paket lain.
Kinerja Lebih Baik - Paket dapat dikompilasi dan dimuat ke dalam memori secara keseluruhan daripada sepotong-sepotong sebagai metode lain. Manfaat ini jika ada sama sekali minimal dibandingkan dengan manfaat lainnya.
Reduced Invalidation - Mengubah paket tidak membuat validitas dependensi tidak sama dengan mengubah fungsi atau prosedur.
Fitur Unik - Variabel Paket, Konstanta Paket, Inisialisasi, Status Sesi, Komentar Paket, dan Metode Kelebihan Beban.
Referensi:
11.2 Panduan Konsep
Ajukan Pertanyaan Tom
StackOverflow.com Pertanyaan tentang Kinerja Paket
Unwrapping PL / SQL Presentation (pdf)