Mengambil Set Rowset Terhad dalam SQL dengan Cekap
Bekerja dengan set data yang besar selalunya memerlukan pengehadan bilangan baris yang dikembalikan oleh pertanyaan SQL untuk meningkatkan prestasi dan mengurus penggunaan sumber. Sistem pangkalan data yang berbeza menggunakan sintaks yang berbeza untuk tujuan ini.
SQL Server: Menggunakan Klausa TOP
Dalam SQL Server, klausa TOP
, yang digunakan bersama dengan ORDER BY
, mengehadkan set hasil kepada bilangan baris yang ditentukan. Sintaks umum ialah:
<code class="language-sql">SELECT TOP n ... ORDER BY [column_name]</code>
Di sini, n
mewakili bilangan baris yang dikehendaki. Contohnya:
<code class="language-sql">SELECT TOP 10 a.names, COUNT(b.post_title) AS num FROM wp_celebnames a JOIN wp_posts b ON INSTR(b.post_title, a.names) > 0 WHERE b.post_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY) GROUP BY a.names ORDER BY num DESC</code>
Pertanyaan ini mengembalikan 10 hasil teratas berdasarkan lajur num
dalam tertib menurun.
MySQL: Menggunakan Klausa LIMIT
MySQL menggunakan klausa LIMIT
untuk mencapai hasil yang sama. Sintaksnya ialah:
<code class="language-sql">SELECT ... ORDER BY [column_name] LIMIT n</code>
Menggunakan ini pada contoh pertanyaan:
<code class="language-sql">SELECT a.names, COUNT(b.post_title) AS num FROM wp_celebnames a JOIN wp_posts b ON INSTR(b.post_title, a.names) > 0 WHERE b.post_date > DATE_SUB(CURDATE(), INTERVAL 1 DAY) GROUP BY a.names ORDER BY num DESC LIMIT 10</code>
Pertanyaan ini, seperti contoh SQL Server, mengembalikan 10 baris teratas yang disusun oleh num
dalam tertib menurun. Menggunakan teknik ini memastikan pengambilan semula subset data yang cekap daripada pertanyaan yang paling kompleks sekalipun.
Atas ialah kandungan terperinci Bagaimana untuk mengehadkan bilangan baris yang dikembalikan dengan pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!