Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A consulta de seleção do MySQL é terrivelmente lenta

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

Criar índices individuais em cada coluna provavelmente não permite que o MySQL otimize a consulta.

Para esta consulta, você deseja um índice composto em (marketId, buy) .
create index idx_price_market_buy ON price (marketId, buy);

A ordem das colunas no índice é importante:primeiro a consulta filtra em marketId (então você quer esta coluna na primeira posição no índice composto), então ele calcula o máximo de buy .