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

Apa manfaat terbesar menggunakan INDEXES di mysql?

Jawaban singkat:
Indeks mempercepat SELECT 's dan memperlambat INSERT 's.

Biasanya lebih baik memiliki indeks, karena mempercepat select lebih dari memperlambat insert .

Pada UPDATE indeks dapat mempercepat sesuatu meningkat jika bidang yang diindeks digunakan dalam WHERE klausa dan memperlambat segalanya jika Anda update salah satu bidang yang diindeks.

Bagaimana Anda tahu kapan harus menggunakan indeks

Tambahkan EXPLAIN di depan SELECT pernyataan.
Seperti itu:

EXPLAIN SELECT * FROM table1 
WHERE unindexfield1 > unindexedfield2 
ORDER BY unindexedfield3

Akan menunjukkan kepada Anda berapa banyak pekerjaan yang harus dilakukan MySQL pada setiap bidang yang tidak diindeks.
Menggunakan info itu Anda dapat memutuskan apakah perlu menambahkan indeks atau tidak.

Jelaskan juga dapat memberi tahu Anda apakah lebih baik untuk menjatuhkan dan mengindeks

EXPLAIN SELECT * FROM table1 
WHERE indexedfield1 > indexedfield2 
ORDER BY indexedfield3

Jika sangat sedikit baris yang dipilih, atau MySQL memutuskan untuk mengabaikan indeks (melakukannya dari waktu ke waktu) maka Anda sebaiknya menghapus indeks, karena adalah memperlambat insert s tetapi tidak mempercepat select 's.

Kemudian lagi, mungkin juga pernyataan pilih Anda tidak cukup cerdas.
(Maaf atas kerumitan jawaban, saya mencoba membuatnya sederhana, tetapi gagal).

Tautan:
indeks MySQL - apa itu praktik terbaik?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara kerja KASUS MySQL?

  2. cara menjatuhkan basis data

  3. dpkg:paket pemrosesan kesalahan mysql-server (masalah ketergantungan)?

  4. Menampilkan Tanggal dari database PHP

  5. Mengawali * (tanda bintang) ke Pencarian Teks Lengkap di MySQL