SQL Setara dengan LINQ's .Skip() dan .Take() Methods
LINQ's .Skip() dan .Take() kaedah membenarkan untuk pengambilan data yang fleksibel dengan memilih subset hasil daripada urutan, melangkau yang ditentukan bilangan item dan mendapatkan semula bilangan item yang ditentukan, masing-masing. Ini memudahkan pengambilan data dan mengoptimumkan prestasi, terutamanya apabila bekerja dengan set data yang besar.
Untuk SQL, fungsi yang setara dengan .Skip() dicapai menggunakan klausa OFFSET. Ia menentukan bilangan baris untuk dilangkau sebelum mula mengambil keputusan. Contohnya, untuk melangkau 1000 baris pertama dalam jadual pangkalan data:
SELECT * FROM Sales.SalesOrderHeader OFFSET 1000 ROWS
Untuk melaksanakan .Take(), SQL menggunakan klausa FETCH NEXT, yang menentukan bilangan baris untuk diambil semula. Menggabungkan OFFSET dan FETCH NEXT membolehkan anda melangkau dan mendapatkan semula bilangan baris tertentu:
SELECT * FROM Sales.SalesOrderHeader OFFSET 1000 ROWS FETCH NEXT 100 ROWS ONLY
Pernyataan SQL ini melangkau 1000 baris pertama dan mendapatkan semula 100 baris seterusnya daripada jadual SalesOrderHeader, meniru LINQ('s .Skip('s .Skip). 1000).Ambil(100) kefungsian.
Dengan memanfaatkan klausa OFFSET dan FETCH NEXT dalam SQL Server 2012 dan ke atas, anda boleh mendapatkan subset data dengan cekap tanpa perlu memilih keseluruhan jadual ke dalam memori. Ini mengoptimumkan prestasi, terutamanya apabila berurusan dengan set data yang besar.
Atas ialah kandungan terperinci Bagaimanakah Saya Meniru LINQ .Skip() dan .Take() dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!