Indeks cluster mengambil biaya 100% dalam SQL

pemrograman


Jika saya telah membuat indeks cluster, itu akan bekerja lebih cepat daripada yang lain.
Tetapi ketika saya memeriksa rencana eksekusi, saya menunjukkan biaya 100% untuk itu.

Di bawah ini adalah contohnya

Tabel 1
Kol1
Kol2
Kol3

BUAT INDEKS CLUSTERED LK_table1 PADA Tabel1 (Kol1,
Kol2,
Kol3)

Tetapi saya hanya menggunakan col1 dan col3 di join dan col2 digunakan dalam kueri.
Jadi menimbulkan masalah jika kita menggunakan semua kolom di indeks tetapi tidak menggunakannya saat bergabung, itulah mengapa biayanya 100%.

Apa yang saya coba:

Belum mencoba apa pun karena kueri berjalan dengan benar, tetapi ketika saya memeriksa rencana eksekusi, saya menunjukkan biaya 100% untuk indeks cluster tersebut.
Tolong beri tahu saya cara mengurangi biayanya.

Solusi 1

Pertama, “biaya 100%” berarti pemindaian/pencarian indeks berkerumun Anda menyumbang 100% dari biaya kueri tersebut. Ini tidak berarti bahwa kueri menjadi kurang efisien dibandingkan tanpa indeks tersebut.

Kedua, Anda perlu merancang indeks untuk memperhitungkan jumlah data yang diharapkan dalam tabel yang relevan, dan kueri yang ingin Anda jalankan. Jika Anda memfilter nilai atau rentang tertentu Col2lalu bergabung ke meja lain (Col1, Col3)maka kamu akan melakukannya mungkin ingin menempatkan Col2 pertama dalam indeks. Namun Anda perlu mengujinya terhadap tabel Anda yang sebenarnya, dengan muatan data yang berarti, untuk memastikannya.

コメント

タイトルとURLをコピーしました