sql >> Database >  >> RDS >> Mysql

MySQL-selectiequery is vreselijk traag

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

Door individuele indexen op elke kolom te maken, kan MySQL de zoekopdracht waarschijnlijk niet optimaliseren.

Voor deze zoekopdracht wilt u een samengestelde index op (marketId, buy) .

create index idx_price_market_buy ON price (marketId, buy);

De volgorde van kolommen in de index is van belang:eerst de zoekfilters op marketId (dus u wilt deze kolom op de eerste positie in de samengestelde index), dan het berekent de maximale buy .




  1. Hoe afbeeldingen uit een tabel met andere kolomteksten te halen met behulp van PHP

  2. Hoe houd ik de waarden van een kolom uniek in MySQL?

  3. Hoe te zoeken naar een volledige naam wanneer voornaam en achternaam in verschillende kolommen zijn opgeslagen?

  4. Selecteer alleen de nieuwste gegroepeerde items