Kecekapan pertanyaan SQL: SELECT *
dengan pemilihan lajur eksplisit
Kecekapan pertanyaan pangkalan data ialah pertimbangan penting dalam arahan SQL. Terdapat dua cara utama untuk mendapatkan semula data daripada jadual: SELECT *
dan pemilihan lajur eksplisit. Sesetengah orang berpendapat SELECT *
kurang cekap daripada menyatakan lajur yang diperlukan secara eksplisit. Tetapi adakah perbezaan kecekapan ketara apabila memilih semua lajur dalam jadual?
Pertimbangan kecekapan
SQL Server menggunakan indeks untuk mengoptimumkan akses data. Apabila lajur tertentu diminta, SQL Server boleh memanfaatkan indeks sedia ada untuk mendapatkan data dengan lebih cepat. Ini amat penting untuk jadual besar yang mengimbas keseluruhan kandungan jadual adalah tidak cekap.
Kestabilan dan kebolehselenggaraan
Pemilihan lajur eksplisit menyediakan pendekatan yang lebih mantap dan boleh diselenggara. Apabila skema jadual berkembang, menambah atau mengalih keluar lajur tidak menjejaskan struktur data yang diambil oleh pertanyaan yang menggunakan pemilihan lajur eksplisit. Ini mengurangkan risiko pemecahan kod akibat perubahan skema.
Pengoptimuman dalam keadaan tertentu
Walaupun SELECT *
kelihatan lebih mudah, ia biasanya tidak disyorkan untuk prestasi optimum. Walau bagaimanapun, terdapat pengecualian. Contohnya, jika anda menentukan bahawa anda sentiasa memerlukan semua lajur dalam jadual, dan skema kekal stabil, SELECT *
mungkin memberikan prestasi yang lebih baik sedikit dengan mengurangkan bilangan kali SQL Server perlu menghuraikan sintaks pertanyaan.
Kesimpulan
Memandangkan kelebihan liputan indeks, kebolehselenggaraan dan pengoptimuman prestasi, biasanya disyorkan untuk menyatakan secara eksplisit lajur yang diperlukan dalam pernyataan SELECT
, walaupun semua lajur diambil semula. Walaupun SELECT *
mungkin sedikit cekap dalam kes khas, dalam kebanyakan kes, kelemahannya melebihi kelebihannya.
Atas ialah kandungan terperinci `PILIH *` lwn. Pemilihan Lajur Eksplisit: Bilakah Satu Lebih Cekap Daripada Yang Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!