

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# Profiler kueri
<a name="using-query-plan-profiler"></a>

Dokumen ini menjelaskan Query profiler, alat grafis untuk menganalisis komponen dan kinerja kueri.

Query profiler adalah fitur pemantauan dan pemecahan masalah kueri yang dapat dilihat melalui konsol Amazon Redshift. Ini membantu untuk menganalisis kinerja kueri. Tujuan utamanya adalah untuk menunjukkan urutan visual dan grafis, rencana eksekusi, dan statistik tentang kueri, dan membuatnya lebih mudah dipahami dan dipecahkan. Query profiler membantu Anda menganalisis jenis komponen kueri berikut:
+ **Kueri anak** - Kueri anak adalah bagian dari pekerjaan dari kueri. Amazon Redshift dapat membagi kueri menjadi beberapa kueri turunan jika lebih efisien daripada memprosesnya sebagai satu kueri besar. Di profiler Anda dapat melihat properti dari setiap kueri anak. Kueri anak terdiri dari aliran dan sub-komponen tambahan.

  Jenis kueri anak yang ditampilkan oleh profiler Query biasanya mencakup yang berikut:
  + **Kueri tabel temp**: Teks kueri anak ini dimulai dengan `CREATE TEMP TABLE` perintah. Kueri anak ini membuat tabel sementara untuk kueri turunan lainnya untuk diproses.
  + **Kueri statistik**: Profiler kueri menambahkan komentar berikut ke awal kueri anak ini untuk membantu mengidentifikasinya:

    ```
    -- collect statistics of child query queryID
    ```

    Kueri anak ini mengumpulkan informasi yang digunakan mesin kueri Amazon Redshift untuk mengoptimalkan kinerja.
**catatan**  
Query Profiler menampilkan kueri yang disediakan pengguna sebagai kueri turunan terakhir yang dijalankan Amazon Redshift.
+ **Stream** — Stream adalah kumpulan segmen yang dibagi di atas irisan node komputasi yang tersedia. Setiap kueri anak terdiri dari satu atau lebih segmen. Di Query profiler, Anda dapat melihat properti dari setiap aliran, seperti waktu eksekusi. Dengan melirik daftar aliran, kemungkinan Anda dapat dengan cepat menemukan kemacetan kinerja.
+ **Segmen** — Segmen adalah kombinasi dari beberapa langkah yang dapat dijalankan oleh satu proses. Segmen juga merupakan unit kompilasi terkecil yang dapat dieksekusi oleh irisan node komputasi. Slice adalah unit pemrosesan paralel di Amazon Redshift. Segmen dalam aliran berjalan secara paralel. Profiler kueri tidak menampilkan segmen secara grafis, tetapi Anda dapat mengakses informasi segmen untuk langkah di panel detail langkah tersebut.
+ **Langkah** - Setiap segmen terdiri dari kumpulan langkah. Langkah adalah bagian dari pekerjaan dalam kueri. Langkah-langkah dapat mencakup *hashjoin*, misalnya, atau *pemindaian*, yang merupakan pembacaan catatan dari tabel.

Untuk informasi selengkapnya tentang aliran, segmen, dan langkah, lihat [Alur kerja perencanaan dan eksekusi kueri](https://docs.aws.amazon.com/redshift/latest/dg/c-query-planning.html) di Panduan Pengembang *Database Amazon Redshift*. 

Query profiler menampilkan informasi yang dikembalikan oleh`SYS_QUERY_HISTORY`,`SYS_QUERY_DETAIL`,`SYS_QUERY_EXPLAIN`, dan `SYS_CHILD_QUERY_TEXT` tampilan. [https://docs.aws.amazon.com/redshift/latest/dg/SYS_CHILD_QUERY_TEXT.html](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CHILD_QUERY_TEXT.html), lihat [SYS\$1QUERY\$1HISTORY, SYS\$1QUERY\$1DETAIL, SYS\$1QUERY\$1EXPLOW](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_HISTORY)[, dan SYS\$1CHILD\$1QUERY\$1TEXT](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) di Panduan Pengembang [Database Amazon Redshift.](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_EXPLAIN.html)

Query profiler hanya menampilkan informasi kueri untuk kueri yang baru saja berjalan di database. Kueri yang selesai menggunakan data cache yang telah diisi sebelumnya daripada berjalan terhadap database tidak akan memiliki profil kueri jika informasi sebelumnya tidak tersedia untuk itu. Ini karena Amazon Redshift tidak menghasilkan paket kueri untuk itu. 

## Prasyarat untuk menggunakan Query profiler
<a name="using-query-plan-profiler-prereqs"></a>

Tampilan pemantauan SYS dirancang untuk kemudahan penggunaan dan mengurangi kompleksitas, menyediakan rangkaian metrik lengkap untuk pemantauan dan pemecahan masalah yang efektif. Tampilan pemantauan SYS juga menjamin riwayat kueri selama tujuh hari terakhir terlepas dari ukuran atau aktivitas cluster. Pengguna hanya memiliki visibilitas untuk kueri yang mereka jalankan, sementara pengguna super memiliki visibilitas untuk kueri dari semua pengguna.

Akun pengguna atau peran IAM Anda memerlukan izin untuk mengakses bagian **Kueri dan pemantauan basis data** konsol. Bagian ini menjelaskan cara menambahkan izin ke akun atau peran pengguna.

Gunakan kebijakan berikut untuk menambahkan izin minimum ke akun atau peran pengguna IAM Anda: 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift:DescribeClusters",
                "redshift-serverless:ListNamespaces",
                "redshift-serverless:ListWorkgroups",
                "redshift-data:ExecuteStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:GetStatementResult"
            ],
            "Resource": [
                "arn:aws:redshift-serverless:us-east-1:111122223333:*",
                "arn:aws:redshift:us-east-1:111122223333:*"
            ]
        }
    ]
}
```

------

**Topics**
+ [Memberikan izin pemantauan kueri untuk peran](#using-query-plan-profiler-prereqs-role)
+ [Memberikan izin pemantauan kueri untuk pengguna](#using-query-plan-profiler-prereqs-user)
+ [Kredensi sementara menggunakan identitas IAM Anda](#using-query-plan-profiler-prereqs-temp-iam)

### Memberikan izin pemantauan kueri untuk peran
<a name="using-query-plan-profiler-prereqs-role"></a>

Pengguna dengan peran yang memiliki `sys:monitor` izin dapat melihat semua kueri. Pengguna dengan peran yang memiliki `sys:operator` izin dapat membatalkan kueri, menganalisis riwayat kueri, dan melakukan operasi vakum.

**Untuk memberikan izin pemantauan kueri untuk peran**

1. Gunakan perintah berikut untuk menyediakan akses monitor sistem, di mana *role-name* nama peran yang ingin Anda berikan aksesnya.

   ```
   grant role sys:monitor to "IAMR:role-name";
   ```

1. (Opsional) Gunakan perintah berikut untuk menyediakan akses operator sistem, di mana *role-name* nama peran yang ingin Anda berikan aksesnya.

   ```
   grant role sys:operator to "IAMR:role-name";
   ```

### Memberikan izin pemantauan kueri untuk pengguna
<a name="using-query-plan-profiler-prereqs-user"></a>

Pengguna dengan `sys:monitor` izin dapat melihat semua kueri. Pengguna dengan `sys:operator` izin dapat membatalkan kueri, menganalisis riwayat kueri, dan melakukan operasi vakum.

**Untuk memberikan izin pemantauan kueri bagi pengguna**

1. Gunakan perintah berikut untuk menyediakan akses monitor sistem, di mana *user-name* nama pengguna yang ingin Anda berikan aksesnya.

   ```
   grant role sys:monitor to "IAMR:user-name";
   ```

1. (Opsional) Gunakan perintah berikut untuk menyediakan akses operator sistem, di mana *-name* adalah nama pengguna yang ingin Anda berikan aksesnya.

   ```
   grant role sys:operator to "IAMR:user-name";
   ```

### Kredensi sementara menggunakan identitas IAM Anda
<a name="using-query-plan-profiler-prereqs-temp-iam"></a>

Opsi ini hanya tersedia saat menghubungkan ke cluster. Dengan metode ini, Query Profiler memetakan nama pengguna ke identitas IAM Anda dan menghasilkan kata sandi sementara untuk terhubung ke database sebagai identitas IAM Anda. Pengguna yang menggunakan metode ini untuk terhubung harus diizinkan izin IAM untuk`redshift:GetClusterCredentialsWithIAM`. Untuk mencegah pengguna menggunakan metode ini, ubah pengguna atau peran IAM mereka untuk menolak izin ini. 

## Mengakses profiler Kueri di konsol Amazon Redshift untuk menganalisis kueri
<a name="using-query-plan-profiler-accessing"></a>

Anda dapat mengakses Query Profiler untuk Amazon Redshift tanpa server atau Amazon Redshift yang disediakan. Lihat bagian berikut untuk detailnya:

**Topics**
+ [Mengakses profiler Kueri di konsol Amazon Redshift untuk Amazon Redshift Tanpa Server](#using-query-plan-profiler-accessing-serverless)
+ [Mengakses profiler Kueri di konsol Amazon Redshift untuk Amazon Redshift Disediakan](#using-query-plan-profiler-accessing-provisioned)

### Mengakses profiler Kueri di konsol Amazon Redshift untuk Amazon Redshift Tanpa Server
<a name="using-query-plan-profiler-accessing-serverless"></a>

Untuk mengakses profiler Query untuk Amazon Redshift Serverless, lakukan hal berikut:
+ Buka konsol tanpa server Amazon Redshift.
+ Pada panel navigasi, di bawah **Monitoring**, pilih **Query dan pemantauan database**.
+ Pilih workgroup.
+ Pilih **Query dan pemantauan database**.
+ Pilih kueri.
+ Pilih tab **Query plan** di halaman **Query details**.

Jika paket kueri tersedia, Anda akan melihat daftar kueri anak. Pilih kueri untuk melihatnya di Query profiler.

### Mengakses profiler Kueri di konsol Amazon Redshift untuk Amazon Redshift Disediakan
<a name="using-query-plan-profiler-accessing-provisioned"></a>

Untuk mengakses profiler Kueri untuk Amazon Redshift Provisioned, lakukan hal berikut:
+ Buka dasbor cluster Amazon Redshift Provisioned.
+ Pilih cluster
+ Pilih **Pemantauan kueri**.
+ Connect ke database
+ Pilih **Query dan pemantauan database**.
+ Pilih kueri.

Jika paket kueri tersedia, Anda akan melihat daftar kueri anak. Pilih kueri untuk melihatnya di Query profiler.

## Antarmuka pengguna profiler kueri
<a name="using-query-plan-profiler-ui"></a>

Query profiler menggunakan halaman berikut untuk menampilkan informasi tentang kueri Anda:
+ **[Halaman detail kueri](#using-query-plan-profiler-ui-query-details)**— Halaman ini menampilkan statistik dan kueri anak untuk kueri Anda.
+ **[Halaman kueri anak](#using-query-plan-profiler-ui-child-query)**— Halaman ini menampilkan statistik, aliran, dan representasi visual dari rencana eksekusi untuk kueri anak. Konsol menampilkan halaman ini saat Anda memilih kueri anak dari daftar **kueri Anak** di halaman **Query dan pemantauan database**.

### Halaman detail kueri
<a name="using-query-plan-profiler-ui-query-details"></a>

![\[Query details interface showing execution time, data returned, and performance breakdown for query 4960.\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/images/metrics_qp_query_details.png)


Halaman detail Query memiliki komponen-komponen berikut:
+ **Panel atas** — Panel di bagian atas halaman menampilkan detail tentang kueri, seperti status dan jenis. Untuk informasi tentang sumber informasi yang ditampilkan panel atas, lihat [SYS\$1QUERY\$1HISTORY](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_HISTORY.html) di Panduan Pengembang Database *Amazon* Redshift.
+ **Tab SQL** - Tab panel bawah ini menunjukkan teks SQL untuk kueri pengguna asli.
+ **Tab paket kueri** — Tab panel bawah ini menampilkan daftar kueri anak yang digunakan Amazon Redshift untuk menyiapkan data dan statistik untuk kueri pengguna. Secara default, daftar **kueri Anak** menampilkan informasi dan statistik agregat tentang setiap kueri anak. Untuk informasi tentang sumber informasi yang ditampilkan halaman ini, lihat [SYS\$1QUERY\$1DETAIL di](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) Panduan Pengembang Database Amazon *Redshift*.

  Anda dapat menambah atau menghapus kolom dari daftar **kueri Anak** menggunakan menu Preferensi.
+ **Metrik terkait** - Tab panel bawah ini menunjukkan CloudWatch metrik berikut untuk kueri: 
  + **Kapasitas RPU yang digunakan** (untuk kelompok kerja tanpa server): Kapasitas komputasi yang digunakan oleh kueri, diukur dalam Unit Pemrosesan Redshift (). RPUs Untuk informasi selengkapnya, lihat [Kapasitas komputasi untuk Amazon Redshift Serverless](serverless-capacity.md).
  + **Status kesehatan cluster**, **Pemanfaatan CPU**, **Kapasitas penyimpanan yang digunakan** (untuk klaster yang disediakan): Status dan sumber daya sistem kueri yang digunakan.
  + **Koneksi database aktif**: `DatabaseConnections` metrik untuk kueri. 

  Untuk informasi selengkapnya tentang CloudWatch metrik, lihat[Data kinerja di Amazon Redshift](metrics-listing.md).

### Halaman kueri anak
<a name="using-query-plan-profiler-ui-child-query"></a>

![\[Query execution plan showing stages from Distribute to Aggregate with execution times.\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/images/metrics_qp_child_query_plan.png)


Halaman kueri Anak memiliki komponen berikut:
+ **Pulldown kueri anak** — Kontrol ini menunjukkan nama urutan dan waktu eksekusi untuk setiap kueri anak. Anda dapat menavigasi ke kueri anak lain dengan memilihnya di kontrol ini.
+ **Panel samping** - Panel ini berisi tab untuk menampilkan aliran kueri anak dan teks kueri anak. 
+ **Tab aliran kueri anak** - Tab panel atas ini menampilkan yang berikut:
  + **Streams** - Panel ini menampilkan daftar aliran dalam kueri anak. Panel ini menampilkan informasi dan data agregat tentang aliran yang digunakan Amazon Redshift untuk mengoptimalkan kueri. Untuk informasi tentang detail di panel ini, lihat [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) di Panduan Pengembang Database *Amazon* Redshift.

    Anda dapat menambah atau menghapus kolom dari panel **Streams** menggunakan menu Preferensi. Anda mengakses menu Preferensi menggunakan ikon roda gigi di panel **Streams**. 
  + **Panel kueri anak** — Representasi grafis dari langkah-langkah dalam kueri anak. Untuk informasi tentang panel **kueri Anak**, lihat [Panel kueri anak](#using-query-plan-profiler-child-query-pane) berikut.
+ **Tab teks kueri anak** - Tab panel atas ini menunjukkan kode SQL untuk kueri anak.
+ **Panel detail kueri anak — Panel** di panel kanan ini menampilkan detail tentang kueri anak. Untuk informasi tentang detail di panel ini, lihat [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) di Panduan Pengembang Database *Amazon* Redshift.
+ **Panel detail streaming** — Saat Anda memilih aliran di panel **Streams**, panel **Detail Stream** menampilkan informasi tentang aliran. Untuk informasi tentang detail di panel ini, lihat [SYS\$1QUERY\$1DETAIL di](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) Panduan Pengembang Database Amazon *Redshift*.
+ **Panel detail langkah — Bila Anda memilih langkah di panel** ***Streams** atau grafik dalam **paket kueri Anak**, panel Detail langkah menampilkan informasi tentang **langkah tersebut, Untuk informasi tentang detail** di panel ini, lihat [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) di Panduan Pengembang Database Amazon Redshift.* :

## Panel kueri anak
<a name="using-query-plan-profiler-child-query-pane"></a>

Profiler kueri menampilkan kueri **anak di panel kueri Anak** sebagai representasi grafis dari langkah-langkah dalam kueri anak yang dipilih. 

Panel **kueri Child** menampilkan urutan proses dan hubungan antar langkah-langkahnya. Misalnya, jika sebuah langkah menggabungkan output dari dua langkah lainnya, panel **kueri Anak** menunjukkan langkah sebagai simpul pohon dengan dua node yang dimasukkan ke dalamnya:

![\[Tree diagram showing Hashjoin step with Scan + Item and Hash steps as child nodes.\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/images/metrics_qp_hashjoin.png)


Panel **kueri Anak** tidak menampilkan aliran yang berisi langkah-langkah secara default. Untuk menampilkan aliran yang digunakan Amazon Redshift untuk secara logis mempartisi langkah-langkah dalam kueri turunan, **pilih** Lihat aliran. Saat Anda memilih **Lihat aliran**, panel **kueri Anak** menunjukkan langkah-langkah yang terkandung dalam aliran kueri.

Panel **kueri Anak** tidak menampilkan informasi segmen. Untuk melihat segmen untuk satu langkah, pilih langkahnya. Panel **Detail langkah** kemudian menunjukkan segmen untuk langkah tersebut.

### Navigasi di panel kueri Anak
<a name="using-query-plan-profiler-child-query-pane-navigation"></a>

Di panel **kueri Anak**, Anda dapat memilih langkah-langkah untuk melihat informasi rinci tentang mereka. Anda juga dapat menggeser dan memperbesar ruang kerja untuk memvisualisasikan langkah-langkah dalam rencana kueri dengan lebih baik.

Anda dapat memilih node, menggeser, dan memperbesar paket **kueri Child** menggunakan metode berikut:
+ **Menggunakan mouse** - Anda dapat memilih node, klik dan seret ruang kerja untuk menggeser, dan tahan **Ctrl** (Windows) atau **CMD** (Mac) dan roda mouse untuk memperbesar. Memilih node menyebabkan ruang kerja memperbesar dan menggeser untuk menyorot node itu. Jika Anda memilih aliran di ruang kerja, aliran tersebut akan disorot dalam daftar **Streams**. Jika Anda memilih langkah di ruang kerja, panel **Detail langkah** menampilkan informasi tentang langkah itu.
+ **Menggunakan kontrol zoom dan fit di kiri atas ruang kerja** - Kontrol ini memungkinkan Anda memperbesar, memperkecil, memperbesar agar sesuai dengan seluruh ruang kerja, dan masuk ke mode layar penuh. Saat Anda memperbesar agar sesuai dengan seluruh rencana kueri, ruang kerja memusatkan rencana kueri baik secara horizontal maupun vertikal. 
+ **Menggunakan minimap di kanan bawah ruang kerja** - Anda dapat menggeser atau memperbesar ruang kerja dengan menggunakan kontrol minimap di sudut kiri bawah ruang kerja.
+ **Memilih aliran di panel **Streams** — Jika Anda memilih aliran di panel** ****Streams**, ruang kerja akan menggeser dan memperbesar untuk menampilkan aliran yang dipilih, dan menampilkan informasi tentang aliran di panel Detail aliran.**
+ **Memilih langkah di panel **Streaming details**** **— Jika Anda memilih langkah di panel **Streaming details**, ruang kerja akan menggeser dan memperbesar untuk menampilkan langkah yang dipilih, dan menampilkan informasi tentang langkah di panel Detail langkah.**

**catatan**  
Saat Anda memilih langkah, baik di ruang kerja atau panel yang berbeda, ruang kerja mencoba memperbesar dan menggeser sedemikian rupa sehingga langkah yang dipilih paling terlihat.   
Saat Anda memilih aliran atau langkah dari ruang kerja atau panel lain, ruang kerja hanya akan memperbesar dan menggeser ke aliran atau langkah itu jika Anda memilih **Pan & Zoom** di kontrol kanan atas di ruang kerja. Anda dapat membatasi perilaku ini untuk panning dan zooming, panning saja, atau tidak ada gerakan dengan memilih pengaturan yang sesuai di pulldown.  

![\[Dropdown menu showing pan and zoom options for workspace navigation control.\]](http://docs.aws.amazon.com/id_id/redshift/latest/mgmt/images/metrics_qp_pan_zoom.png)


## Memecahkan masalah kueri dengan Query profiler
<a name="using-query-plan-profiler-troubleshooting"></a>

Jika Anda memecahkan masalah kueri, Anda dapat memilih kueri turunan untuk menentukan aliran mana yang menggunakan **Persentase tertinggi dari total waktu kueri**. Ini adalah cara cepat untuk menentukan bagian mana dari kueri Anda yang harus dianalisis lebih lanjut. 

Setelah Anda mengetahui kueri anak mana yang paling banyak memakan waktu, lihat langkah-langkahnya untuk melihat gabungan atau pemindaian mana yang mungkin menyebabkan kinerja lambat.