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

Kinerja MySQL menggunakan AUTO_INCREMENT pada PRIMARY KEY

Kunci utama sering digunakan sebagai urutan di mana data sebenarnya disimpan. Jika kunci utama bertambah, data hanya ditambahkan. Jika kunci utama acak, itu berarti bahwa data yang ada harus dipindahkan untuk mendapatkan baris baru ke dalam urutan yang benar. Indeks dasar (non-primary-key) biasanya jauh lebih ringan dalam konten dan dapat dipindahkan lebih cepat dengan lebih sedikit overhead.

Saya tahu ini benar untuk DBMS lain; Saya berani menebak bahwa MySQL bekerja dengan cara yang sama dalam hal ini.

PERBARUI

Seperti yang dinyatakan oleh @BillKarwin dalam komentar di bawah, teori ini tidak akan berlaku untuk tabel MyISAM. Sebagai teori tindak lanjut, saya akan merujuk ke jawaban @KevinPostlewaite di bawah ini (yang telah dia hapus), bahwa masalahnya adalah kurangnya AUTO_INCREMENT pada PRIMARY KEY - yang harus unik. Dengan AUTO_INCREMENT lebih mudah untuk menentukan bahwa nilainya unik karena dijamin inkremental. Dengan nilai acak, mungkin diperlukan beberapa waktu untuk benar-benar menjalankan indeks untuk membuat penentuan ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP mengubah mysql_query lama menjadi PDO

  2. MySQL tidak memperbarui information_schema, kecuali saya menjalankan ANALYZE TABLE `myTable` . secara manual

  3. Kriteria Pencarian berdasarkan TextField dan Menu Daftar

  4. mySQL:Menggunakan jarak Levenshtein untuk menemukan duplikat dalam 20.000 baris

  5. apa yang lebih cepat, count(*) atau count(table_field_name) di mysql?