Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menghina Set Data Besar dengan Cekap dalam Pelayan SQL Sambil Mengekalkan Prestasi?

Bagaimanakah Saya Boleh Menghina Set Data Besar dengan Cekap dalam Pelayan SQL Sambil Mengekalkan Prestasi?

Patricia Arquette
Lepaskan: 2025-01-22 00:52:12
asal
961 orang telah melayarinya

How Can I Efficiently Paginate Large Datasets in SQL Server While Maintaining Performance?

Mengoptimumkan Penomboran dalam Pelayan SQL untuk Set Data Besar

Membentangkan set data yang besar kepada pengguna memerlukan penomboran - hanya menunjukkan sebahagian daripada hasil setiap halaman. Walau bagaimanapun, melaksanakan penomboran tanpa menjejaskan prestasi adalah penting, terutamanya apabila memerlukan jumlah kiraan hasil terlebih dahulu.

Versi Pelayan SQL Lama (2000-2008): Penomboran Baris

Sebelum SQL Server 2012, penomboran baris ialah teknik penomboran standard. Ini melibatkan pemberian nombor baris menggunakan ROW_NUMBER() dan penapisan berdasarkan saiz dan nombor halaman. Walaupun berfungsi, pendekatan ini terbukti tidak cekap dengan set data yang banyak.

SQL Server 2012 dan Seterusnya: OFFSET dan FETCH

SQL Server 2012 memperkenalkan klausa OFFSET dan FETCH unggul. Ini terus melangkau bilangan baris yang ditentukan dan hanya mengambil subset yang diperlukan. Ini dengan ketara meningkatkan prestasi untuk set data yang besar dengan menghapuskan overhed penomboran baris.

Pertanyaan Ilustrasi

Pertanyaan berikut menunjukkan mendapatkan semula 10 baris awal dan jumlah kiraan baris menggunakan OFFSET dan FETCH dalam SQL Server 2012 dan kemudian:

<code class="language-sql">DECLARE @RowsPerPage INT = 10;

WITH TotalResults AS (
  SELECT COUNT(*) OVER() AS TotalRows
  FROM TableName
)
SELECT *
FROM TableName
ORDER BY id
OFFSET 0 ROWS
FETCH NEXT @RowsPerPage ROWS ONLY;

SELECT TotalRows
FROM TotalResults;</code>
Salin selepas log masuk

Nota Penting:

  • Fasal ORDER BY adalah wajib apabila menggunakan OFFSET dan FETCH.
  • OFFSET mesti mengiringi FETCH; mereka tidak boleh digunakan dengan TOP.
  • Menggunakan OFFSET dan FETCH secara mendadak meningkatkan prestasi, terutamanya dengan set data yang luas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghina Set Data Besar dengan Cekap dalam Pelayan SQL Sambil Mengekalkan Prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan