Dari segi kecekapan indeks, indeks bersama pasti lebih cekap Dalam banyak kes, jika anda menggunakan berbilang medan untuk membuat pertanyaan, anda harus mempertimbangkan untuk menggunakan indeks bersama. Tetapi perkara-perkara tidak sepenuhnya mutlak, dan overhed pengindeksan juga mesti diambil kira. Mengambil syarat anda sebagai contoh, dengan mengandaikan bahawa key boleh menentukan rekod secara unik, adakah tidak perlu menambah parentId? Mengundur selangkah, walaupun key tidak dapat menentukan satu secara unik, jika ia dapat menentukan keputusan yang ditetapkan dalam julat kecil tertentu, seperti 5 rekod atau 10 rekod, maka parentId syarat ini tidak lebih daripada ini 10 rekod Imbas rekod sekali lagi untuk mencari rekod yang sesuai Berbanding dengan penulisan, penyimpanan dan overhed memori yang disebabkan oleh menambahnya pada indeks, saya mungkin memilih untuk tidak memasukkannya ke dalam indeks bersama sama sekali. Lebih banyak rekod keadaan boleh ditapis, lebih baik "selektiviti"nya. Dalam keadaan biasa, apabila kita membina indeks, kita harus meletakkan keadaan dengan selektiviti yang lebih baik di hadapan dan keadaan dengan selektiviti yang lemah di belakang. Jika ia cukup teruk, jangan biarkan ia masuk. Ini sebenarnya adalah keseimbangan antara masa dan ruang. Keadaan dimasukkan ke dalam indeks menjimatkan masa (termasuk masa CPU, masa pertanyaan) dan ruang (termasuk ruang penyimpanan, keadaan ruang memori tidak dimasukkan ke dalam masa kos indeks dan menjimatkan ruang); Selalunya kita menjangkakan yang pertama Bila hendak memilih yang terakhir bergantung pada penilaian anda sendiri tentang situasi sebenar.
Dari segi kecekapan indeks, indeks bersama pasti lebih cekap Dalam banyak kes, jika anda menggunakan berbilang medan untuk membuat pertanyaan, anda harus mempertimbangkan untuk menggunakan indeks bersama.
Tetapi perkara-perkara tidak sepenuhnya mutlak, dan overhed pengindeksan juga mesti diambil kira.
Mengambil syarat anda sebagai contoh, dengan mengandaikan bahawa
key
boleh menentukan rekod secara unik, adakah tidak perlu menambahparentId
?Mengundur selangkah, walaupun
key
tidak dapat menentukan satu secara unik, jika ia dapat menentukan keputusan yang ditetapkan dalam julat kecil tertentu, seperti 5 rekod atau 10 rekod, makaparentId
syarat ini tidak lebih daripada ini 10 rekod Imbas rekod sekali lagi untuk mencari rekod yang sesuai Berbanding dengan penulisan, penyimpanan dan overhed memori yang disebabkan oleh menambahnya pada indeks, saya mungkin memilih untuk tidak memasukkannya ke dalam indeks bersama sama sekali.Lebih banyak rekod keadaan boleh ditapis, lebih baik "selektiviti"nya. Dalam keadaan biasa, apabila kita membina indeks, kita harus meletakkan keadaan dengan selektiviti yang lebih baik di hadapan dan keadaan dengan selektiviti yang lemah di belakang. Jika ia cukup teruk, jangan biarkan ia masuk.
Ini sebenarnya adalah keseimbangan antara masa dan ruang. Keadaan dimasukkan ke dalam indeks menjimatkan masa (termasuk masa CPU, masa pertanyaan) dan ruang (termasuk ruang penyimpanan, keadaan ruang memori tidak dimasukkan ke dalam masa kos indeks dan menjimatkan ruang); Selalunya kita menjangkakan yang pertama Bila hendak memilih yang terakhir bergantung pada penilaian anda sendiri tentang situasi sebenar.