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

mysql твърде много индекси?

Извличане на данни -- оператори SELECT.

Манипулиране на данни -- изрази INSERT, UPDATE, DELETE.

Ако смятате, че искате да получите по-добра производителност при извличане на данни.

На таблици, които ще видят тежка манипулация на данни -- вмъкване, актуализиране...

Заявките трябва да адресират реда на колоните, когато се занимават с покриващ индекс (индекс на повече от една колона), отляво надясно в дефиницията на колона на индекса. Редът на колоните в изявлението няма значение, само този на колони 1, 2 и 3 - изразът трябва да има препратка към колона 1, преди да може да се използва индексът. Ако има само препратка към колона 2 или 3, индексът на покриване за 1/2/3 не може да се използва.

В MySQL може да се използва само един индекс за SELECT/изявление в заявката (подзаявките/и т.н. се разглеждат като отделен оператор). И има ограничение за количеството пространство на таблица, което MySQL позволява. Освен това, изпълнението на функция върху индексирана колона прави индекса безполезен - IE:

WHERE DATE(datetime_column) = ...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използваните оператори SELECT имат различен брой колони (REDUX!!)

  2. Как мога да търся в таблица със стойности, разделени със запетая?

  3. Дефиниране на композитен ключ с автоматично увеличение в MySQL

  4. Как да получите времето от низ в MySQL

  5. скорост на вмъкване в mysql срещу cassandra