Penulisan ulang kueri otomatis untuk menggunakan tampilan terwujud - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penulisan ulang kueri otomatis untuk menggunakan tampilan terwujud

Anda dapat menggunakan penulisan ulang kueri otomatis dari tampilan terwujud di Amazon Redshift agar kueri penulisan ulang Amazon Redshift menggunakan tampilan terwujud. Melakukan hal ini mempercepat beban kerja kueri bahkan untuk kueri yang tidak secara eksplisit mereferensikan tampilan yang terwujud. Saat Amazon Redshift menulis ulang kueri, Amazon Redshift hanya menggunakan tampilan terwujud yang mutakhir.

Catatan penggunaan

Untuk memeriksa apakah penulisan ulang kueri secara otomatis digunakan untuk kueri, Anda dapat memeriksa rencana kueri atau STL_EXPLOW. Berikut ini menunjukkan pernyataan SELECT dan output EXPLORE dari rencana query asli.

SELECT catgroup, SUM(qtysold) AS sold FROM category c, event e, sales s WHERE c.catid = e.catid AND e.eventid = s.eventid GROUP BY 1; EXPLAIN XN HashAggregate (cost=920021.24..920021.24 rows=1 width=35) -> XN Hash Join DS_BCAST_INNER (cost=440004.53..920021.22 rows=4 width=35) Hash Cond: ("outer".eventid = "inner".eventid) -> XN Seq Scan on sales s (cost=0.00..7.40 rows=740 width=6) -> XN Hash (cost=440004.52..440004.52 rows=1 width=37) -> XN Hash Join DS_BCAST_INNER (cost=0.01..440004.52 rows=1 width=37) Hash Cond: ("outer".catid = "inner".catid) -> XN Seq Scan on event e (cost=0.00..2.00 rows=200 width=6) -> XN Hash (cost=0.01..0.01 rows=1 width=35) -> XN Seq Scan on category c (cost=0.00..0.01 rows=1 width=35)

Berikut ini menunjukkan output EXPLORE setelah penulisan ulang otomatis berhasil. Output ini mencakup pemindaian pada tampilan terwujud dalam rencana kueri yang menggantikan bagian dari rencana kueri asli.

* EXPLAIN XN HashAggregate (cost=11.85..12.35 rows=200 width=41) -> XN Seq Scan on mv_tbl__tickets_mv__0 derived_table1 (cost=0.00..7.90 rows=790 width=41)

Hanya tampilan terwujud up-to-date (segar) yang dipertimbangkan untuk penulisan ulang kueri secara otomatis, terlepas dari strategi penyegaran, seperti auto, terjadwal, atau manual. Oleh karena itu, kueri asli mengembalikan up-to-date hasil. Saat tampilan terwujud direferensikan secara eksplisit dalam kueri, Amazon Redshift mengakses data yang saat ini disimpan dalam tampilan terwujud. Data ini mungkin tidak mencerminkan perubahan terbaru dari tabel dasar tampilan terwujud.

Anda dapat menggunakan penulisan ulang kueri otomatis dari tampilan terwujud yang dibuat pada klaster versi 1.0.20949 atau yang lebih baru.

Anda dapat menghentikan penulisan ulang kueri otomatis pada tingkat sesi dengan menggunakan SET mv_enable_aqmv_for_session ke FALSE.

Batasan

Berikut ini adalah batasan untuk menggunakan penulisan ulang kueri otomatis dari tampilan terwujud:

  • Penulisan ulang kueri otomatis berfungsi dengan tampilan terwujud yang tidak mereferensikan atau menyertakan salah satu dari berikut ini:

    • Subkueri

    • Gabungan luar kiri, kanan, atau penuh

    • Tetapkan operasi

    • Semua fungsi agregat, kecuali SUM, COUNT, MIN, MAX, dan AVG. (Ini adalah satu-satunya fungsi agregat yang bekerja dengan penulisan ulang kueri otomatis.)

    • Setiap fungsi agregat dengan DISTINCT

    • Fungsi jendela apa pun

    • PILIH Klausul DISTINCT atau HAVING

    • Tabel eksternal

    • Pandangan terwujud lainnya

  • Penulisan ulang kueri otomatis menulis ulang kueri SELECT yang merujuk ke tabel Amazon Redshift yang ditentukan pengguna. Amazon Redshift tidak menulis ulang kueri berikut:

    • BUAT TABEL SEBAGAI pernyataan

    • Pernyataan SELECT INTO

    • Kueri pada katalog atau tabel sistem

    • Kueri dengan gabungan luar atau klausa SELECT DISTINCT

  • Jika kueri tidak ditulis ulang secara otomatis, periksa apakah Anda memiliki izin SELECT pada tampilan terwujud yang ditentukan dan mv_enable_aqmv_for_session opsi disetel ke TRUE.

    Anda juga dapat memeriksa apakah tampilan terwujud Anda memenuhi syarat untuk penulisan ulang kueri secara otomatis dengan memeriksa STV_MV_INFO. Untuk informasi selengkapnya, lihat STV_MV_INFO.