Rumah >pangkalan data >tutorial mysql >Mengapa Gunakan `SELECT TOP 100 PERCENT` dalam SQL Queries?
Mengapa Gunakan SELECT TOP 100 Percent
Sebelum SQL Server 2005, TOP 100 PERCENT telah digunakan dalam klausa SELECT untuk membolehkan pesanan mengikut penggunaan dalam melihat definisi. Walau bagaimanapun, walaupun dalam pernyataan SQL dinamik dalam persekitaran moden, amalan ini berterusan.
Pewujudan Perantaraan
Sebab utama untuk menggunakan 100 PERATUS TERBAIK adalah untuk "pewujudan pertengahan." Seperti yang dijelaskan oleh Adam Machanic, teknik ini mengumpul hasil pertanyaan buat sementara waktu, membolehkan pemprosesan seterusnya yang lebih cekap. Khususnya, ia membolehkan pemprosesan baris demi baris bagi set hasil perantaraan, yang boleh mengoptimumkan prestasi dalam senario tertentu.
Contoh
Pertimbangkan pertanyaan berikut:
SELECT foo FROM (SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1) bar WHERE CAST(foo AS int) > 100
Dalam SQL Server 2000, pertanyaan ini mungkin gagal disebabkan penilaian yang tidak dapat diramalkan pesanan. 100 PERCENT TERATAS boleh digunakan untuk menguatkuasakan pemprosesan baris demi baris, memastikan bahawa keputusan adalah setara dengan yang diperoleh dengan melaksanakan pertanyaan secara berurutan:
SELECT foo From MyTable WHERE ISNUMERIC (foo) = 1 SELECT foo FROM bar WHERE CAST(foo AS int) > 100
Tingkah laku ini terus berfungsi dalam SQL Server 2005, walaupun pengenalan pengoptimuman yang lebih canggih teknik.
Langkah Berjaga-jaga
Walaupun PILIH 100 PERATUS TERBAIK boleh memberikan faedah prestasi dalam keadaan tertentu, ia harus digunakan dengan bijak. Perubahan pada tahap tampalan, skema, indeks atau kiraan baris secara tidak sengaja boleh mengubah kesannya terhadap prestasi. Oleh itu, adalah penting untuk memahami sepenuhnya akibatnya sebelum menggunakan teknik ini.
Atas ialah kandungan terperinci Mengapa Gunakan `SELECT TOP 100 PERCENT` dalam SQL Queries?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!