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

MySQL използва сортиране на файлове в индексирана колона TIMESTAMP

В този случай MySQL не използва вашия индекс за сортиране и това е ДОБРО нещо. Защо? Вашата таблица съдържа само 64k реда, средната ширина на реда е около 26 байта (ако добавих правилно размерите на колоните), така че общият размер на таблицата на диска трябва да бъде около 2MB. Много е евтино да четете само 2MB данни от диска в паметта (вероятно само с 1-2 дискови операции или търсене) и след това просто извършете сортиране на файлове в паметта (вероятно вариант на бързо сортиране).

Ако MySQL направи извличане по ред на индекси, както желаете, ще трябва да извърши 64 000 операции за търсене на диск, един запис след друг! Щеше да е много, много бавно.

Индексите могат да бъдат добри, когато можете да ги използвате за бързо преминаване към известно местоположение в огромен файл и четене на малко количество данни, като в клаузата WHERE. Но в този случай това не е добра идея - и MySQL не е глупав!

Ако вашата таблица беше много голяма (повече от размера на RAM), тогава MySQL със сигурност ще започне да използва вашия индекс - и това също е хубаво нещо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. таблици за превод на mysql с липсващ езиков резервен вариант

  2. Как мога да експортирам няколко колони от MySQL в текстов файл

  3. Вземете празните записи с SQL

  4. Извличане на единичен ред от таблица за присъединяване

  5. Заместващият знак в най-лявата колона на съставния индекс означава ли, че останалите колони в индекса не се използват при търсене на индекс (MySQL)?