Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Die MySQL-Select-Abfrage ist furchtbar langsam

select max(buy) from price where marketId=309;

Das Erstellen einzelner Indizes für jede Spalte erlaubt MySQL wahrscheinlich nicht, die Abfrage zu optimieren.

Für diese Abfrage möchten Sie einen zusammengesetzten Index auf (marketId, buy) .

create index idx_price_market_buy ON price (marketId, buy);

Die Reihenfolge der Spalten im Index ist wichtig:Zuerst filtert die Abfrage nach marketId (Sie möchten also, dass diese Spalte an erster Stelle im zusammengesetzten Index steht), dann es berechnet den maximalen buy .