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

Защо един индекс може да направи заявката наистина бавна?

Тъй като все още трябва да прочетете всички данни от индекс + файл с данни. Тъй като не използвате никакво where условие - винаги ще имате план за заявка, който има достъп до всички данни, ред по ред и не можете да направите нищо с това.

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

Защо става по-бавно:защото в индекса данните вече са сортирани и когато 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 в bash скрипт

  2. Разлика между mysql и mysqli

  3. Множество MYSQL заявки в таблица с множество колони

  4. SOLR DataImport Грешка Не може да се изпълни заявка

  5. Създаване на визуална база данни с MySQL Workbench