select max(buy) from price where marketId=309;
各列に個別のインデックスを作成しても、MySQLでクエリを最適化できない可能性があります。
このクエリには、複合インデックスが必要です。 (marketId, buy)
で 。
create index idx_price_market_buy ON price (marketId, buy);
インデックス内の列の順序が重要です。最初に、クエリはmarketId
でフィルタリングします (したがって、この列を化合物インデックスの最初の位置に配置する必要があります)、次に 最大のbuy
を計算します 。