Mysql
 sql >> база данни >  >> RDS >> Mysql

Производителност на MySQL с помощта на AUTO_INCREMENT на ПРЪВИЧЕН КЛЮЧ

Първичните ключове често се използват като последователност, в която действително се съхраняват данните. Ако първичният ключ се увеличи, данните просто се добавят. Ако първичният ключ е произволен, това би означавало, че съществуващите данни трябва да бъдат преместени, за да се постави новият ред в правилната последователност. Базовият индекс (без първичен ключ) обикновено е много по-лек по съдържание и може да се мести по-бързо с по-малко разходи.

Знам, че това е вярно за други СУБД; Бих се осмелил да предположа, че MySQL работи по подобен начин в това отношение.

АКТУАЛИЗАЦИЯ

Както е посочено от @BillKarwin в коментарите по-долу, тази теория няма да е вярна за таблиците MyISAM. Като последваща теория бих се позовал на отговора на @KevinPostlewaite по-долу (който той оттогава е изтрил), че проблемът е липсата на AUTO_INCREMENT на PRIMARY KEY - който трябва да е уникален. С AUTO_INCREMENT е по-лесно да се определи, че стойностите са уникални, тъй като е гарантирано, че са нарастващи. При произволни стойности може да отнеме известно време за действително обхождане на индекса, за да се направи това определяне.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кои са любимите ви книги за Ruby on Rails и защо?

  2. Как да получите стойности на една колона с MySQLi?

  3. Кумулативна сума за набор от редове в mysql

  4. Подредената входна стойност вмъква празен запис в mysql

  5. MySQL разлика в датата