Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pesan penasihat ini dikembalikan saat kueri menggunakan fungsi perbandingan string yang tidak peka huruf besar/kecil. Pesan mengklarifikasi alasan dan memberikan panduan untuk meningkatkan performa kueri.
Karakteristik
| Nilai | |
|---|---|
| RuleID | QA1003 |
| Title | CaseInsensitiveStartsWithOrStringEquals |
| Kategori | Performance |
Penyebab
Kueri menggunakan tidak peka huruf besar/kecil STARTSWITH atau StringEquals.
Deskripsi Aturan
Pencarian string yang tidak peka huruf besar/kecil bisa mahal. Misalnya, peka huruf besar/kecil STARTSWITH menggunakan pemindaian indeks yang tepat, tetapi tidak peka huruf besar/kecil STARTSWITH menggunakan [pemindaian indeks yang diperluas](Gambaran Umum Pengindeksan).
Recommendation
Tentukan dan indeks properti komputasi yang mengonversi string menjadi huruf kecil (atau huruf besar) dan menggunakan perbandingan peka huruf besar/kecil terhadap properti komputasi.
Example
Kueri asli:
SELECT *
FROM c
WHERE StringEquals(c.name, "abc", true)
Membuat properti komputasi pada c.name
{
"computedProperties": [
{
"name": "cp_lowerName",
"query": "SELECT VALUE LOWER(c.name) FROM c"
}
]
}
Indeks cp_lowerName dan gunakan kueri yang diperbarui berikut ini:
SELECT *
FROM c
WHERE StringEquals(c.name, "abc", false)