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

Apakah membantu menambahkan indeks ke kolom BIGINT di MySQL?

Jika Anda memiliki tabel yang sangat besar, maka pencarian terhadap nilai yang tidak diindeks bisa sangat lambat. Dalam istilah MySQL, kueri semacam ini akhirnya menjadi "pemindaian tabel" yang merupakan cara untuk mengatakan bahwa kueri harus diuji terhadap setiap baris dalam tabel secara berurutan. Ini jelas bukan cara terbaik untuk melakukannya.

Menambahkan indeks akan membantu dengan baca kecepatan, tetapi harga yang Anda bayar sedikit lebih lambat tulis kecepatan. Selalu ada trade-off saat melakukan pengoptimalan, tetapi dalam kasus Anda, pengurangan waktu baca akan sangat besar sementara peningkatan waktu tulis hanya sedikit.

Ingatlah bahwa menambahkan indeks ke tabel besar dapat memakan banyak waktu, jadi lakukan uji ini terhadap data produksi sebelum menerapkannya ke sistem produksi Anda. Tabel kemungkinan akan dikunci selama ALTER TABLE pernyataan.

Seperti biasa, gunakan EXPLAIN pada kueri Anda untuk menentukan strategi eksekusi mereka. Dalam kasus Anda, itu akan menjadi seperti:

EXPLAIN SELECT * FROM table1 WHERE my_big_number=19287319283784


  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 Memeriksa string yang ada di kolom basis data?

  2. MYSQL - Pesan Berdasarkan Id Dalam Urutan DESC, Kelompokkan Berdasarkan X

  3. Bisakah Anda menggunakan peningkatan otomatis di MySql tanpa itu menjadi Kunci utama?

  4. Setara dengan GROUP_CONCAT di Django

  5. Bermigrasi dari replikasi tradisional ke GTID