Deskripsi Masalah
Timeout eksekusi terjadi saat Anda mengeksekusi pernyataan SQL di halaman SQL Console DMS. Hasil eksekusi menampilkan informasi berikut:
[Pernyataan 1]:
select count(*) from table_name where gmt_create>='2020-01-01';
Gagal, detail: Operasi dihentikan (pengguna menginterupsi atau waktu eksekusi habis)
[Solusi]:
1. Tambahkan kolom terindeks dalam kondisi query untuk meningkatkan performa query.
2. Persempit ruang lingkup query sebanyak mungkin.
3. Jika instance memerlukan kolaborasi keamanan, Anda dapat mengajukan tiket desain skema untuk menambahkan indeks pada kolom query.
4. Klik edit instance untuk menyetel ulang nilai timeout query.
TraceId : 0bc059b716002426281173397e58b3
Solusi
Catatan
Catatan: Pernyataan SQL dalam artikel ini digunakan sebagai contoh. Detailnya bergantung pada lingkungan aktual.
Setelah masalah terjadi, Anda dapat menyelesaikannya dengan cara berikut:
- Tambahkan kolom terindeks dalam kondisi query untuk meningkatkan performa query. Jika field user_id memiliki indeks, tambahkan kondisi query untuk memastikan waktu query lebih singkat.
select count(*) from table_name where gmt_create>='2020-01-01' and user_id = '1000'; - Persempit ruang lingkup query sebanyak mungkin. Tambahkan kondisi query menggunakan klausa WHERE. Untuk mempersempit ruang lingkup query, tambahkan gmt_create sebagai berikut:
select count(*) from table_name where gmt_create>='2020-01-01' and gmt_create<'2020-04-01'; - Dalam instance keamanan, desain skema atau lakukan perubahan data untuk mengaktifkan indeks pada kolom yang di-query. Setelah menambahkan indeks, tambahkan kondisi untuk field indeks tersebut agar query dapat dilakukan.
- Desain struktur: Konfigurasikan field gmt_create melalui desain skema. Untuk informasi lebih lanjut, lihat desain skema.
- Perubahan data: Gunakan pernyataan SQL berikut untuk menambahkan indeks ke field gmt_create:
alter table table_name add index idx_gmt(gmt_create);
- Edit instance untuk mengubah periode timeout query.
- Di halaman DMS, temukan instance target. Klik kanan ID instance dan pilih Edit Instance dari menu pintasan.
- Klik Informasi Lanjutan, sesuaikan nilai timeout query sesuai situasi aktual, lalu klik Dikirimkan.
Catatan
Catatan: Dalam topik ini, timeout query adalah 60 detik sebagai contoh.
Ruang Lingkup
- Data Management (DMS)