Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wydajność MySQL przy użyciu AUTO_INCREMENT na PRIMARY KEY

Klucze podstawowe są często używane jako kolejność, w której dane są faktycznie przechowywane. Jeśli klucz podstawowy jest zwiększany, dane są po prostu dołączane. Jeśli klucz podstawowy jest losowy, oznaczałoby to, że istniejące dane muszą zostać przeniesione, aby nowy wiersz znalazł się we właściwej kolejności. Podstawowy indeks (nie z kluczem podstawowym) jest zwykle znacznie lżejszy w treści i można go przenosić szybciej przy mniejszym nakładzie pracy.

Wiem, że dotyczy to innych DBMS; Zaryzykowałbym zgadnięcie, że MySQL działa pod tym względem podobnie.

AKTUALIZUJ

Jak stwierdził @BillKarwin w komentarzach poniżej, ta teoria nie sprawdziłaby się w przypadku tabel MyISAM. Jako kontynuację teorii, odniosę się do poniższej odpowiedzi @KevinPostlewaite (którą od tego czasu usunął), że problemem jest brak AUTO_INCREMENT na KLUCZU PODSTAWOWYM - który musi być unikalny. Dzięki AUTO_INCREMENT łatwiej jest określić, że wartości są unikalne, ponieważ gwarantuje się, że będą przyrostowe. W przypadku wartości losowych może minąć trochę czasu, zanim faktycznie przejdziesz po indeksie w celu dokonania tego ustalenia.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zamów używając polskich liter

  2. MySQL DATE_FORMAT '%M' na krótki miesiąc?

  3. Jak zdobyć listę wspólnych znajomych

  4. Command.Parameters[@name].Value Poprawna składnia

  5. oceń wyrażenie w MySQL