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

cara kerja pengindeksan B-tree di mysql

Basis data menyimpan nilai yang diindeks sebagai B-Tree kunci, dan penunjuk catatan sebagai B-Tree nilai.

Setiap kali Anda mencari catatan yang menyimpan nilai tertentu dari kolom yang diindeks, mesin akan menemukan kunci yang menyimpan nilai ini di B-Tree , mengambil pointer ke record dan mengambil record.

Apa sebenarnya "penunjuk rekaman", tergantung pada mesin penyimpanan.

  • Di MyISAM , pointer record adalah offset dari record di MYI berkas.

  • Di InnoDB , penunjuk record adalah nilai dari PRIMARY KEY .

Di InnoDB , tabel itu sendiri adalah B-Tree dengan PRIMARY KEY sebagai B-Tree kunci. Inilah yang disebut "indeks berkerumun" atau "tabel yang diatur indeks". Dalam hal ini, semua bidang lain disimpan sebagai B-Tree nilai.

Di MyISAM , arsip disimpan tanpa pesanan khusus. Ini disebut "penyimpanan tumpukan".



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kapan menggunakan gabungan luar kiri?

  2. Bagaimana cara mengisyaratkan indeks untuk digunakan dalam kueri pemilihan MySQL?

  3. Peringatan:mysqli_num_rows() mengharapkan tepat 1 parameter, 2 diberikan | mysql |mysqli

  4. Apakah mungkin menghitung dua kolom dalam kueri yang sama

  5. Bagaimana cara membuat format json dengan mysql grup-concat?