sql >> Base de Datos >  >> RDS >> Mysql

La consulta de selección de MySQL es terriblemente lenta

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

La creación de índices individuales en cada columna probablemente no permita que MySQL optimice la consulta.

Para esta consulta, desea un índice compuesto en (marketId, buy) .

create index idx_price_market_buy ON price (marketId, buy);

El orden de las columnas en el índice es importante:primero, los filtros de consulta en marketId (de modo que desea que esta columna ocupe la primera posición en el índice compuesto), luego calcula la buy máxima .