select max(buy) from price where marketId=309;
Създаването на отделни индекси за всяка колона вероятно не позволява на MySQL да оптимизира заявката.
За тази заявка искате съставен индекс на (marketId, buy)
.
create index idx_price_market_buy ON price (marketId, buy);
Подреждането на колоните в индекса има значение:първо заявката филтрира по marketId
(така че искате тази колона да е на първа позиция в индекса на сборника), след това той изчислява максималната buy
.