sql >> Databasteknik >  >> RDS >> Mysql

Finns det något sätt att kontrollera prestanda för mysql-indexering

Följande fråga kommer att berätta om frågan använder index eller inte:

EXPLAIN EXTENDED SELECT col1, col2, col3, COUNT(1) 
FROM table_name 
WHERE col1 = val 
GROUP BY col1 
ORDER BY col2;

SHOW WARNINGS;

Du kan lägga till täckande index för bästa prestanda.

För att täcka index lägger du till kolumner som används i där klausuler först sedan kolumner som används i grupp av kolumnerna som används i ordning efter och sedan kolumner som används i select.

t.ex. för ovanstående fråga kan du lägga till täckande index KEY(col1, col2, col3)

*Obs! Att lägga till fler index kommer att sakta ner dina infogningsfrågor.



  1. Hur man använder flera databaser i Laravel

  2. SQL Server-filnamn kontra versioner

  3. Inkluderar MS SQL Servers mellan intervallgränserna?

  4. I Rails kunde det inte skapas databas för {adapter=>postgresql,