select max(buy) from price where marketId=309;
Vytvoření jednotlivých indexů na každém sloupci pravděpodobně neumožňuje MySQL optimalizovat dotaz.
Pro tento dotaz chcete složený index na (marketId, buy)
.
create index idx_price_market_buy ON price (marketId, buy);
Na pořadí sloupců v indexu záleží:nejprve dotaz filtruje podle marketId
(takže chcete, aby tento sloupec byl na první pozici v indexu souhrnu), pak vypočítá maximální buy
.