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

MySQL - колко време се създава индекс?

Има няколко фактора, които трябва да имате предвид:

  • Сортирането е N.log(N) операция.
  • Сортирането за 14M реда може да се побере в основната памет; сортирането с 500M реда вероятно не го прави, така че сортирането се разлива на диск, което забавя нещата изключително.

Тъй като факторът е с размер около 30, номиналното време за сортиране за големия набор от данни би било от порядъка на 50 пъти по-дълго - под два часа. Въпреки това, имате нужда от 8 байта за стойност на данните и около още 8 байта режийни (това е предположение - настройте mySQL, ако знаете повече за това какво съхранява в индекс). И така, 14M × 16 ≈ 220 MB основна памет. Но 500M × 16 ≈ 8 GB основна памет. Освен ако вашата машина няма толкова свободна памет (а 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. FCM (firebase cloud messaging) токен за едно устройство или за един акаунт?

  2. Успешни стратегии за архивиране и възстановяване на MySQL/MariaDB

  3. Изберете отделни редове от две таблици, подредени по дата

  4. За SHA512-хеширане на парола в MySQL база данни от Python

  5. Създайте Insert... Изберете оператор в Laravel