

 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.

# Batalkan kueri
<a name="cancel_query"></a>

Jika Anda menjalankan kueri yang memakan waktu terlalu lama atau menghabiskan sumber daya yang berlebihan, batalkan kueri. Misalnya, buat daftar penjual tiket yang mencakup nama penjual dan jumlah tiket yang terjual. Query berikut memilih data dari `SALES` tabel dan tabel dan `USERS` menggabungkan dua tabel dengan mencocokkan SELLERID dan USERID dalam klausa WHERE.

```
SELECT sellerid, firstname, lastname, sum(qtysold)
FROM sales, users
WHERE sales.sellerid = users.userid
GROUP BY sellerid, firstname, lastname
ORDER BY 4 desc;
```

Hasilnya terlihat seperti berikut ini.

```
 sellerid | firstname | lastname | sum
----------+-----------+----------+------
  48950   |   Nayda   |   Hood   | 184
  19123   |   Scott   | Simmons  | 164
  20029   |    Drew   | Mcguire  | 164
  36791   |  Emerson  | Delacruz | 160
  13567   |   Imani   |   Adams  | 156
  9697    |  Dorian   |    Ray   | 156
  41579   | Harrison  | Durham   | 156
  15591   |  Phyllis  |  Clay    | 152
  3008    |  Lucas    | Stanley  | 148
  44956   |  Rachel   |Villarreal| 148
```

**catatan**  
Ini adalah kueri yang kompleks. Untuk tutorial ini, Anda tidak perlu khawatir tentang bagaimana query ini dibangun.

Query sebelumnya berjalan dalam hitungan detik dan mengembalikan 2.102 baris.

Misalkan Anda lupa memasukkan klausa WHERE.

```
SELECT sellerid, firstname, lastname, sum(qtysold)
FROM sales, users
GROUP BY sellerid, firstname, lastname
ORDER BY 4 desc;
```

Set hasil mencakup semua baris dalam tabel dikalikan dengan semua baris dalam `SALES` tabel (`USERS`49989\*3766). Ini disebut bergabung Cartesian, dan itu tidak direkomendasikan. Hasilnya lebih dari 188 juta baris dan membutuhkan waktu lama untuk dijalankan.

Untuk membatalkan kueri yang sedang berjalan, gunakan perintah CANCEL dengan ID sesi kueri. Dengan editor kueri Amazon Redshift v2 Anda dapat membatalkan kueri dengan memilih tombol batal saat kueri sedang berjalan.

Untuk menemukan ID sesi, mulai sesi baru dan kueri tabel STV\_RECENTS, seperti yang ditunjukkan pada langkah sebelumnya. Contoh berikut menunjukkan bagaimana Anda dapat membuat hasil lebih mudah dibaca. Untuk melakukan ini, gunakan fungsi TRIM untuk memangkas spasi tambahan dan hanya menampilkan 20 karakter pertama dari string kueri.

Untuk menentukan ID sesi dari kueri yang sedang berjalan, jalankan pernyataan SELECT berikut.

```
SELECT user_id, session_id, start_time, query_text
FROM sys_query_history
WHERE status='running';
```

Hasilnya terlihat seperti berikut ini.

```
 user_id |   session_id  |   start_time               |   query_text
---------+---------------+----------------------------+----------------------------------------------------------------
 100     |    1073791534 | 2024-03-19 22:26:21.205739 | SELECT user_id, session_id, start_time, query_text FROM  ...
```

Untuk membatalkan kueri dengan ID sesi`1073791534`, jalankan perintah berikut.

```
CANCEL 1073791534;
```

**catatan**  
Perintah CANCEL tidak menghentikan transaksi. Untuk menghentikan atau memutar kembali transaksi, gunakan perintah ABORT atau ROLLBACK. Untuk membatalkan kueri yang terkait dengan transaksi, pertama-tama batalkan kueri lalu hentikan transaksi.

Jika kueri yang Anda batalkan dikaitkan dengan transaksi, gunakan perintah ABORT atau ROLLBACK untuk membatalkan transaksi dan membuang setiap perubahan yang dilakukan pada data:

```
ABORT;
```

Kecuali Anda masuk sebagai pengguna super, Anda hanya dapat membatalkan pertanyaan Anda sendiri. Superuser dapat membatalkan semua kueri.

Jika alat kueri Anda tidak mendukung kueri yang berjalan secara bersamaan, mulailah sesi lain untuk membatalkan kueri.

Untuk informasi selengkapnya tentang membatalkan kueri, lihat [CANCEL](https://docs.aws.amazon.com/redshift/latest/dg/r_CANCEL.html) di Panduan Pengembang *Database Amazon Redshift*.

## Batalkan kueri menggunakan antrean superuser
<a name="cancel_query-cancel-a-query-using-the-superuser-queue"></a>

Jika sesi Anda saat ini memiliki terlalu banyak kueri yang berjalan secara bersamaan, Anda mungkin tidak dapat menjalankan perintah CANCEL sampai kueri lain selesai. Dalam hal ini, jalankan perintah CANCEL menggunakan antrean kueri manajemen beban kerja yang berbeda.

Dengan menggunakan manajemen beban kerja, Anda dapat menjalankan kueri dalam antrian kueri yang berbeda sehingga Anda tidak perlu menunggu kueri lain selesai. Manajer beban kerja membuat antrian terpisah, yang disebut antrian Superuser, yang dapat Anda gunakan untuk pemecahan masalah. Untuk menggunakan antrian Superuser, masuk ke superuser dan atur grup kueri ke 'superuser' menggunakan perintah SET. Setelah menjalankan perintah Anda, setel ulang grup kueri menggunakan perintah RESET.

Untuk membatalkan kueri menggunakan antrean superuser, jalankan perintah ini.

```
SET query_group TO 'superuser';
CANCEL 1073791534;
RESET query_group;
```