pengoptimuman mysql - Soalan tentang kegagalan indeks dan bilangan baris yang diimbas lebih besar daripada jumlah baris data semasa pertanyaan mysql.
淡淡烟草味
淡淡烟草味 2017-06-30 09:52:51
0
1
1271

Jadual data menggunakan enjin innodb, dan medan_update_at menggunakan indeks biasa.

Tiga soalan:

  1. Membandingkan dua penyataan pertama, penyataan kedua tidak menggunakan indeks Saya ingat bahawa indeks akan diberikan apabila bilangan baris yang diimbas mencapai nombor tertentu.

  2. Imbasan jadual penuh menunjukkan bahawa bilangan baris yang diimbas ialah 70341, tetapi jumlah bilangan baris data hanyalah 57087?

  3. select count(*) menggunakan indeks, tetapi juga mengimbas 70341 baris Adakah pernyataan ini akan menyebabkan masalah prestasi?

淡淡烟草味
淡淡烟草味

membalas semua(1)
滿天的星座
  1. Dalam pangkalan data mekanisme pengoptimuman CBO, tiada nilai kritikal yang jelas untuk menggunakan atau tidak menggunakan indeks KOS minimum dalam pelan pelaksanaan digunakan sebagai standard Nilai empirikal adalah lebih sesuai untuk menggunakan indeks apabila jumlah bilangan baris dalam jadual adalah kurang daripada 5%.

  2. Saya faham bahawa pernyataan kedua menggunakan data statistik jadual Jika jadual baru-baru ini mengalami perubahan besar dan data statistik telah dikemas kini dalam masa, akan terdapat sisihan yang besar antara kedua-duanya.

  3. count(*) menggunakan indeks, yang bermaksud bahawa medan kemas kini_at mempunyai definisi NOT NULL Berbanding dengan imbasan jadual penuh, kos mengimbas indeks akan lebih rendah.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan