Rumah >pangkalan data >tutorial mysql >Bagaimanakah UNION ALL Boleh Mengoptimumkan Penyata PILIH Ketepatan Penurunan dalam PostgreSQL?
Menggunakan UNION ALL untuk Pertanyaan Cekap
Apabila cuba mencari baris dalam jadual dengan ketepatan yang berkurangan, adalah tidak cekap untuk melaksanakan berbilang pernyataan SELECT satu demi satu. Sebaliknya, pertimbangkan untuk menggunakan pertanyaan UNION ALL untuk menggabungkan berbilang SELECT menjadi satu ungkapan yang cekap.
Pertanyaan Dioptimumkan:
SELECT * FROM image WHERE name = 'name105' AND group_id = 10 UNION ALL SELECT * FROM image WHERE name = 'name105' UNION ALL SELECT * FROM image WHERE group_id = 10 LIMIT 1;
Penjelasan:
Pertanyaan ini menggunakan tiga pernyataan SELECT, setiap satu dengan tahap yang semakin rendah ketepatan:
Dengan menggabungkan SELECT ini menggunakan UNION ALL, pertanyaan memastikan bahawa padanan pertama dikembalikan, walaupun ia hanya berdasarkan satu parameter.
Faedah:
Nota:
Dalam PostgreSQL versi 11 dan kemudian, pertimbangkan kemungkinan penambahan selari apabila menggunakan UNION ALL . Ini boleh menjejaskan kebolehpercayaan pertanyaan dalam senario tertentu. Rujuk urutan di bawah untuk mendapatkan butiran:
Atas ialah kandungan terperinci Bagaimanakah UNION ALL Boleh Mengoptimumkan Penyata PILIH Ketepatan Penurunan dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!