全部产品
Search
文档中心

PolarDB:Cara menentukan periode timeout untuk pernyataan SQL

更新时间:Jul 02, 2025

Di PolarDB-X, jika waktu eksekusi pernyataan SQL pada node PolarDB-X atau instance ApsaraDB RDS for MySQL melebihi periode timeout, maka eksekusi akan mengalami timeout. Periode timeout default adalah 900 detik, dan Anda dapat menyesuaikannya sesuai kebutuhan. Untuk pernyataan SQL lambat tertentu yang durasi eksekusinya melebihi 900 detik, PolarDB-X menyediakan petunjuk timeout kustom yang memungkinkan Anda menentukan periode timeout secara manual.

Pertimbangan tambahan

  • PolarDB-X mendukung penyesuaian petunjuk menggunakan salah satu format berikut: /*+TDDL:hint_command*/ atau /!+TDDL:hint_command*/.

  • Dalam klien baris perintah MySQL resmi, jika Anda menjalankan pernyataan SQL yang berisi petunjuk kustom PolarDB-X dalam format /*+TDDL:hint_command*/, tambahkan parameter -c pada perintah untuk masuk ke klien. Jika parameter -c tidak ditambahkan, klien akan menghapus komentar MySQL dari pernyataan SQL sebelum dikirim ke server untuk dieksekusi. Petunjuk kustom PolarDB-X dengan format /*+TDDL:hint_command*/ dianggap sebagai komentar MySQL. Akibatnya, petunjuk kustom PolarDB-X tersebut akan dihapus dan tidak dapat berfungsi. Untuk informasi lebih lanjut, lihat opsi klien mysql.

Sintaks

Gunakan sintaks berikut untuk menentukan petunjuk timeout kustom PolarDB-X pada pernyataan SQL:

/*+TDDL:SOCKET_TIMEOUT(time)*/

Tentukan nilai SOCKET_TIMEOUT dalam milidetik. Anda dapat menggunakan petunjuk ini untuk menyesuaikan periode timeout sesuai kebutuhan bisnis Anda.

Contoh

Atur periode timeout untuk pernyataan SQL menjadi 40 detik.

/*+TDDL:SOCKET_TIMEOUT(40000)*/SELECT * FROM t_item;
Penting

Periode timeout yang lebih lama dapat menyebabkan sumber daya database terpakai lebih lama. Jika banyak pernyataan SQL berjalan lama dalam periode tertentu, konsumsi sumber daya database mungkin meningkat secara signifikan. Akibatnya, PolarDB-X mungkin tidak dapat memberikan layanan database seperti yang diharapkan. Untuk mengatasi masalah ini, disarankan agar Anda mengoptimalkan pernyataan SQL yang berjalan lama.