Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Server:Fungsi Bernilai Tabel vs. Prosedur Tersimpan

Fungsi bernilai tabel sebaris (TVF) seperti makro:diperluas ke kueri luar. Itu tidak memiliki rencana seperti itu:pemanggilan SQL memiliki rencana.

TVF multi-pernyataan memiliki rencana (akan menemukan referensi).

TVF berguna jika Anda ingin memvariasikan daftar SELECT untuk input berparameter. TVF sebaris diperluas dan pilihan luar/tempat akan dipertimbangkan oleh pengoptimal. Untuk optimasi TVF multi-pernyataan sebenarnya tidak mungkin karena harus dijalankan sampai selesai, lalu filter.

Secara pribadi, saya akan menggunakan proc tersimpan melalui TVF multi-pernyataan. Mereka lebih fleksibel (misalnya petunjuk, dapat mengubah status, SET NOCOUNT ON, SET XACTABORT dll).

Saya tidak keberatan dengan TVF sebaris tetapi cenderung tidak menggunakannya untuk kode yang dihadapi klien karena ketidakmampuan untuk menggunakan SET dan mengubah status.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengekstrak dari data nilai DateTime tanpa detik

  2. Mengonversi Antara Tipe Data Tanggal &Waktu di SQL Server (Contoh T-SQL)

  3. Panduan pemula untuk tabel SQL

  4. T-SQL untuk menemukan Indeks yang Berlebihan

  5. Statistik Objek Database SQL Server