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 advisor ini dikembalikan ketika kueri menggunakan fungsi CONTAINS. Pesan mengklarifikasi alasan dan memberikan panduan untuk meningkatkan performa kueri.
Karakteristik
| Nilai | |
|---|---|
| RuleID | QA1002 |
| Title | Contains |
| Kategori | Performance |
Penyebab
Kueri menggunakan CONTAINS fungsi .
Deskripsi Aturan
CONTAINS bisa mahal dan lambat karena membutuhkan pemindaian penuh.
Recommendation
Jika niat menggunakan CONTAINS adalah untuk mencocokkan pada awalan string, gunakan STARTSWITH sebagai gantinya, yang melakukan pemindaian indeks yang tepat dan dapat lebih hemat biaya.
Jika Anda melakukan pencarian string yang tidak peka huruf besar/kecil, pertimbangkan untuk menentukan dan mengindeks properti komputasi yang memproyeksikan LOWER(c.stringSearchProperty) dan menggunakan pencarian string peka huruf besar/kecil sebagai gantinya.
Example
Kueri asli:
SELECT *
FROM c
WHERE CONTAINS(c.category, "Historical")
Niat kueri adalah untuk category mencari yang dimulai dengan Historical. Dalam hal ini, kueri berikut memiliki performa yang lebih baik dengan properti c.cp_categorykomputasi :
SELECT *
FROM c
WHERE STARTSWITH(c.cp_category, "historical")