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 .