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

Semua kolom tabel harus diindeks atau tidak database mysql?

Membuat indeks memerlukan ruang disk tambahan, dan bahwa terlalu banyak indeks dapat menyebabkan masalah yang timbul dari batas ukuran sistem file, pemikiran yang cermat harus digunakan untuk memilih bidang yang benar untuk diindeks.

Karena indeks hanya digunakan untuk mempercepat pencarian bidang yang cocok dalam catatan, masuk akal bahwa bidang pengindeksan yang digunakan hanya untuk output hanya akan membuang-buang ruang disk dan waktu pemrosesan saat melakukan operasi penyisipan atau penghapusan, dan dengan demikian harus dihindari. Juga mengingat sifat pencarian biner, kardinalitas atau keunikan data itu penting. Pengindeksan pada bidang dengan kardinalitas 2 akan membagi data menjadi dua, sedangkan kardinalitas 1.000 akan mengembalikan sekitar 1.000 catatan. Dengan kardinalitas rendah seperti itu, efektivitasnya dikurangi menjadi pengurutan linier, dan pengoptimal kueri akan menghindari penggunaan indeks jika kardinalitas lebih besar dari 30% dari jumlah catatan, yang secara efektif membuat indeks membuang-buang ruang.

Jadi lebih baik menambahkan pengindeksan pada grup kolom.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. menentukan kumpulan kata yang paling sering digunakan php mysql

  2. Kembalikan peringkat dari beberapa tabel dengan mySQL

  3. MySQL tidak diluncurkan di XAMPP

  4. Mengganti tanda kutip ganda yang lolos dengan tanda kutip ganda di R

  5. Bagaimana cara berhasil menulis ulang kode mysql-php lama dengan fungsi mysql_* yang tidak digunakan lagi?