全部产品
Search
文档中心

Tablestore:Bagaimana cara memperbaiki kesalahan umum pada kueri SQL?

更新时间:Jul 06, 2025

Topik ini menjelaskan cara memperbaiki kesalahan umum pada kueri SQL, termasuk jenis-jenis kesalahan berikut: OTSUnsupportOperation, OTSQuotaExhausted, OTSParameterInvalid, dan OtsRequestTimeout.

OTSUnsupportOperation

Pesan Kesalahan

Deskripsi

Solusi

Operasi tidak didukung

Tablestore SQL hanya mendukung beberapa pernyataan SQL. Jika Anda mengeksekusi pernyataan SQL yang tidak didukung oleh Tablestore, sebuah kesalahan akan dilaporkan.

Eksekusi pernyataan SQL yang didukung oleh Tablestore.

Pernyataan SQL yang didukung oleh Tablestore diperbarui secara berkala. Untuk informasi lebih lanjut, lihat fitur SQL.

text_match hanya didukung untuk kolom TEXT dalam kondisi filter di indeks pencarian

text_match dan text_match_phrase digunakan secara salah. Anda hanya dapat menggunakan text_match dan text_match_phrase untuk kolom Text di indeks pencarian sebagai kondisi filter.

Gunakan fitur pencarian teks lengkap dengan cara yang benar. Untuk informasi lebih lanjut, lihat Pencarian Teks Lengkap.

text_match_phrase hanya didukung untuk kolom TEXT dalam kondisi filter di indeks pencarian

OTSQuotaExhausted

Pesan Kesalahan

Deskripsi

Solusi

Jumlah baris SQL yang dipindai melebihi kuota! Kuota pencarian adalah 100.000 baris, kuota tabel adalah 100.000 baris

Ketika Anda menggunakan mesin KV sebagai mesin query, jumlah baris atau volume data yang dipindai melebihi batas maksimum.

Gunakan indeks sekunder atau indeks pencarian untuk mempercepat query data. Untuk informasi lebih lanjut, lihat Kebijakan Pemilihan Indeks.

  • Gunakan indeks pencarian untuk mempercepat query.

    Jika fungsi agregasi seperti COUNT, SUM, atau AVG, atau klausa GROUP BY termasuk dalam pernyataan SQL untuk query, atau jika query dilakukan menggunakan kunci non-primer, kami sarankan Anda mengonfigurasi indeks pencarian untuk mempercepat query.

    Jika indeks pencarian dikonfigurasi tetapi kesalahan masih dilaporkan, periksa apakah indeks pencarian mencakup kolom berdasarkan query yang dilakukan.

  • Jika tidak ada indeks pencarian yang dikonfigurasi, pastikan bahwa kondisi query mencakup kolom kunci primer dan sesuai dengan prinsip pencocokan paling kiri. Kemudian, tambahkan parameter limit ke pernyataan SQL untuk menentukan jumlah maksimum baris yang dapat dikembalikan.

Catatan

Jumlah maksimum baris yang dapat dipindai adalah 100.000, volume data maksimum yang dapat dipindai adalah 128 MB, dan periode waktu habis untuk pemindaian adalah 30 detik.

Jumlah baris SQL yang dipindai melebihi kuota! Kuota pencarian adalah 100.000 baris, kuota tabel adalah 100.000 baris

Ketika Anda menggunakan indeks pencarian sebagai mesin query, jumlah baris atau volume data yang dipindai melebihi batas maksimum.

  • Tambahkan parameter limit ke pernyataan SQL untuk membatasi jumlah baris yang dapat dikembalikan.

  • Optimalkan kondisi query dalam pernyataan SQL untuk mendorong beberapa tugas komputasi SQL ke indeks pencarian. Untuk informasi tentang dorongan komputasi, lihat Dorongan Komputasi.

Durasi waktu SQL melebihi kuota! Kuota adalah 30 detik

Ekseskusi pernyataan SQL habis waktu.

Gunakan indeks sekunder atau indeks pencarian untuk mempercepat query data. Untuk informasi lebih lanjut, lihat Kebijakan Pemilihan Indeks.

  • Gunakan indeks pencarian untuk mempercepat query.

    Jika fungsi agregasi seperti COUNT, SUM, atau AVG, atau klausa GROUP BY termasuk dalam pernyataan SQL untuk query, atau jika query dilakukan menggunakan kunci non-primer, kami sarankan Anda mengonfigurasi indeks pencarian untuk mempercepat query.

    Jika indeks pencarian dikonfigurasi tetapi kesalahan masih dilaporkan, periksa apakah indeks pencarian mencakup kolom berdasarkan query yang dilakukan.

  • Jika tidak ada indeks pencarian yang dikonfigurasi, pastikan bahwa kondisi query mencakup kolom kunci primer dan sesuai dengan prinsip pencocokan paling kiri. Kemudian, tambahkan parameter limit ke pernyataan SQL untuk menentukan jumlah maksimum baris yang dapat dikembalikan.

OTSParameterInvalid

Pesan Kesalahan

Deskripsi

Solusi

Ketidakcocokan tipe bidang, aktual: STRING, harapan: INTEGER, kolom: xxx, kunci primer: {"PrimaryKeys":[{"ColumnName":"xxx","Value":"xxx","PrimaryKeyOption":0}]}

Tipe data kolom atribut dalam tabel data tidak cocok dengan tipe data kolom atribut dalam SQL.

Tabel data di Tablestore tidak memerlukan skema. Anda dapat menulis data dari berbagai tipe ke kolom atribut. Bidang dalam SQL memerlukan skema dan setiap bidang harus menggunakan tipe tertentu.

Ketika Anda menggunakan SQL untuk menanyakan data, pastikan bahwa tipe data kolom atribut dalam tabel data cocok dengan tipe data kolom atribut dalam SQL. Anda dapat mengubah tipe data di kolom atribut tertentu dari baris tertentu dalam tabel data berdasarkan pesan kesalahan yang dikembalikan.

Tabel 'instancename.tablename' tidak ada

Tabel tempat Anda ingin membuat tabel pemetaan tidak ada.

Anda dapat mengeksekusi pernyataan CREATE TABLE dalam SQL untuk membuat tabel pemetaan hanya untuk tabel atau indeks pencarian yang sudah ada. Pastikan bahwa tabel atau indeks pencarian tempat Anda ingin membuat tabel pemetaan ada. Untuk informasi lebih lanjut, lihat Buat Tabel Pemetaan untuk Tabel dan Buat Tabel Pemetaan untuk Indeks Pencarian.

Tabel 'instancename.tablename' sudah ada

Tabel pemetaan sudah dibuat untuk tabel tersebut.

Anda dapat mengeksekusi pernyataan DESCRIBE untuk menanyakan skema tabel pemetaan yang ada. Jika skema tidak memenuhi persyaratan bisnis Anda, Anda dapat memperbarui kolom atribut tabel pemetaan. Namun, Anda tidak dapat memperbarui kolom atribut tabel pemetaan yang dibuat secara otomatis oleh sistem. Dalam hal ini, hapus tabel pemetaan dan buat yang baru setelah Anda memastikan bahwa operasi semacam itu tidak memengaruhi bisnis Anda.

Tipe bidang 'DECIMAL(11,0)' tidak didukung

SQL tidak mendukung tipe data DECIMAL.

Query SQL hanya mendukung beberapa tipe data. Untuk informasi lebih lanjut, lihat Pemetaan Tipe Data dalam SQL.

Mesin pencari: panjang nilai bidang lebih dari 32 untuk [WILDCARD_QUERY] query

Kondisi yang mencakup operator LIKE melebihi 32 karakter dalam panjang.

Kurangi panjang string query atau gunakan query frasa pencocokan. Untuk informasi lebih lanjut, lihat Apa yang harus saya lakukan jika "panjang nilai bidang lebih dari 32 untuk [WILDCARD_QUERY] query" kesalahan terjadi ketika saya menggunakan query wildcard?

Ekspresi #2 dari daftar SELECT tidak ada dalam klausa GROUP BY dan berisi kolom non-agregat

Pernyataan SQL yang digunakan untuk query berisi klausa GROUP BY tetapi tidak berisi fungsi agregasi.

Tentukan fungsi agregasi dalam pernyataan SQL. Untuk informasi lebih lanjut, lihat Tanyakan Data.

Offset + limit melebihi kuota! Kuota adalah 150.000 baris

Jumlah nilai parameter offset dan limit melebihi batas maksimum. Misalnya, jika nilai parameter offset adalah a, nilai parameter limit adalah b, dan jumlah a dan b melebihi batas maksimum, kesalahan ini dilaporkan. Batas maksimum adalah 150.000.

Pastikan bahwa jumlah nilai parameter offset dan limit tidak melebihi 150.000.

Kolom tidak dikenal 'xxx' dalam daftar bidang

Nama bidang yang ditentukan dalam pernyataan SQL tidak termasuk dalam tabel pemetaan.

Pesan kesalahan ini dikembalikan jika Anda menambahkan bidang ke tabel data tetapi tidak menambahkan bidang ke tabel pemetaan yang dibuat untuk tabel data.

Tabel pemetaan harus mencakup bidang berdasarkan query SQL yang dilakukan. Jika Anda menambahkan bidang ke tabel data, Anda harus menambahkan bidang ke tabel pemetaan yang dibuat untuk tabel data. Untuk informasi lebih lanjut, lihat Perbarui Kolom Atribut Tabel Pemetaan.

OtsRequestTimeout

Pesan kesalahan

Deskripsi

Solusi

Mesin pencari: pencarian habis waktu, silakan coba lagi

Indeks pencarian diakses ketika query sedang dilakukan dan eksekusi query habis waktu.

Periksa apakah fitur query yang ingin Anda gunakan memerlukan Anda untuk mengonfigurasi aturan yang telah ditentukan sebelumnya untuk indeks pencarian.

Sebagai contoh, jika Anda ingin menggunakan klausa ORDER BY, Anda dapat mengonfigurasi pra-pengurutan saat Anda membuat indeks pencarian. Untuk informasi lebih lanjut, lihat Buat indeks pencarian. Jika metode pra-pengurutan indeks pencarian yang ada tidak memenuhi persyaratan Anda, Anda dapat memodifikasi metode pra-pengurutan indeks pencarian dengan memodifikasi skema indeks pencarian secara dinamis. Untuk informasi lebih lanjut, lihat Modifikasi skema indeks pencarian secara dinamis.