sql >> Databasteknik >  >> RDS >> Mysql

MySQL-valsfrågan är fruktansvärt långsam

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

Att skapa individuella index på varje kolumn tillåter förmodligen inte MySQL att optimera frågan.

För den här frågan vill du ha ett sammansatt index(marketId, buy) .

create index idx_price_market_buy ON price (marketId, buy);

Ordningen av kolumner i indexet har betydelse:först sökfiltret på marketId (så att du vill ha den här kolumnen på första plats i det sammansatta indexet), den beräknar det maximala buy .




  1. Hämta en enda rad från Join Table

  2. Hur man deklarerar en variabel i en PostgreSQL-fråga

  3. Mysql FROM_UNIXTIME som UTC

  4. Mysql:Uppdateringsfält för senaste posten