Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penulisan ulang kueri otomatis
Amazon Redshift dapat secara otomatis menulis ulang kueri SQL yang tidak secara eksplisit mereferensikan tampilan terwujud yang ada yang digunakan untuk peningkatan kinerja. Menanyakan tampilan terwujud secara langsung mengurangi waktu pemrosesan kueri, tetapi pernyataan kueri harus dimodifikasi. Jika Anda menggunakan tampilan terwujud untuk mempercepat kueri, penting untuk mempertimbangkan cara menggunakan tampilan terwujud secara sistematis dan otomatis untuk menanggapi kueri. Anda dapat menggunakan penulisan ulang transparan untuk menambah atau menghapus tampilan terwujud dengan cara yang sama seperti indeks, tanpa memengaruhi pernyataan SQL yang ada. Amazon Redshift hanya menggunakan tampilan up-to-date terwujud saat secara otomatis menulis ulang kueri.
Cara kerja penulisan ulang kueri
Pertimbangkan query SQL berikut. Kueri menggabungkan dua tabel: pelanggan (10+ juta baris) dan pesanan (10+ miliar baris):
SELECT c.cust_id, c.first_name, sum(o.amount) as total_amount FROM orders o JOIN customer c ON c.cust_id = o.customer_id GROUP BY c.cust_id, c.first_name HAVING sum(o.amount) > 500;
Kueri ini menggabungkan dua tabel besar, menerapkan agregasi jumlah pada o.amount kolom, dan kemudian memfilter hasilnya untuk menampilkan hanya pelanggan yang memesan lebih dari $500. Kueri ini bisa menghabiskan banyak sumber daya.
Sebagai contoh, pertimbangkan tampilan mv_total_orders terwujud dari bagian Membuat tampilan terwujud dari panduan ini. Setelah tampilan ini dibuat, Amazon Redshift secara otomatis menulis ulang kueri sebelumnya sebagai berikut:
SELECT cust_id, first_name, total_amount FROM mv_total_orders WHERE total_amount > 500;
Kueri baru ini berjalan lebih cepat karena menggunakan tampilan terwujud alih-alih menggabungkan dua tabel besar.
Penulisan ulang kueri telah menyebabkan adopsi yang lebih luas dari pandangan terwujud karena alasan berikut:
Tampilan terwujud mendukung penulisan ulang kueri yang transparan. Penulisan ulang kueri mengubah pernyataan SQL yang dinyatakan dalam tabel menjadi pernyataan yang mengakses satu atau lebih tampilan terwujud. Transformasi ini transparan bagi pengguna akhir, tidak memerlukan intervensi dan tidak ada referensi ke tampilan terwujud dalam pernyataan SQL.
Tampilan terwujud menyederhanakan penerapan set hasil umum yang di-cache dan mendukung pengoptimalan lintas kueri seperti precomputing.
Dalam gudang data dan skenario integrasi data, tampilan terwujud dapat mewujudkan hasil tabel asing untuk menyembunyikan perbedaan di antara beberapa sumber data, menerapkan replika lokal atau pemisahan baca/tulis.
Fitur penulisan ulang kueri yang dikombinasikan dengan pembuatan tampilan terwujud otomatis mempercepat otonomi basis data.