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 otomatis digunakan untuk kueri, Anda dapat memeriksa rencana kueri atau _. STL EXPLAIN Berikut ini menunjukkan SELECT pernyataan dan EXPLAIN output 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 EXPLAIN output setelah penulisan ulang otomatis yang sukses. 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 to. 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

    • Kiri, kanan, atau gabungan luar penuh

    • Tetapkan operasi

    • Setiap fungsi agregat, kecualiSUM,,COUNT, MINMAX, danAVG. (Ini adalah satu-satunya fungsi agregat yang bekerja dengan penulisan ulang kueri otomatis.)

    • Setiap fungsi agregat dengan DISTINCT

    • Fungsi jendela apa pun

    • SELECTDISTINCTatau HAVING klausa

    • Tabel eksternal

    • Pandangan terwujud lainnya

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

    • CREATETABLEPernyataan AS

    • SELECTINTOpernyataan

    • 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 SELECT izin 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 _MV_. STV INFO Untuk informasi selengkapnya, lihat STV_MV_INFO.