Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Indeks MySQL - berapa banyak yang cukup?

Jumlah pengindeksan dan garis melakukan terlalu banyak akan tergantung pada banyak faktor. Pada tabel kecil seperti tabel "kategori" Anda biasanya tidak menginginkan atau membutuhkan indeks dan itu benar-benar dapat merusak kinerja. Alasannya adalah bahwa dibutuhkan I/O (yaitu waktu) untuk membaca indeks dan kemudian lebih banyak I/O dan waktu untuk mengambil catatan yang terkait dengan baris yang cocok. Pengecualian adalah ketika Anda hanya menanyakan kolom yang ada di dalam indeks.

Dalam contoh Anda, Anda mengambil semua kolom dan hanya dengan 22 baris dan mungkin lebih cepat untuk hanya melakukan pemindaian tabel dan mengurutkannya daripada menggunakan indeks. Pengoptimal mungkin/seharusnya melakukan ini dan mengabaikan file index. Jika itu masalahnya, maka indeks hanya mengambil ruang tanpa manfaat. Jika tabel "kategori" Anda sering diakses, Anda mungkin ingin mempertimbangkan untuk menyematkannya ke dalam memori sehingga server db membuatnya tetap dapat diakses tanpa harus pergi ke disk setiap saat.

Saat menambahkan indeks, Anda perlu menyeimbangkan ruang disk, kinerja kueri, dan kinerja pembaruan dan penyisipan ke dalam tabel. Anda bisa mendapatkan lebih banyak indeks pada tabel yang statis dan tidak banyak berubah dibandingkan dengan tabel dengan jutaan pembaruan sehari. Anda akan mulai merasakan pengaruh pemeliharaan indeks pada saat itu. Apa yang dapat diterima di lingkungan Anda adalah dan hanya dapat ditentukan oleh Anda dan organisasi Anda.

Saat melakukan analisis, pastikan untuk membuat/memperbarui tabel dan statistik indeks sehingga Anda dapat yakin akan perhitungan yang akurat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Query - mendapatkan catatan yang hilang saat menggunakan group-by

  2. Apa kinerja terbaik untuk Mengambil hasil MySQL EAV sebagai Tabel Relasional?

  3. php termasuk kesalahan tidak menemukan jalan

  4. Rekursi MySQL?

  5. Permintaan MySQL untuk Menghitung Domain Unik dari bidang Alamat Email