sql >> Databáze >  >> RDS >> Mysql

Výběrový dotaz MySQL je strašně pomalý

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

Vytvoření jednotlivých indexů na každém sloupci pravděpodobně neumožňuje MySQL optimalizovat dotaz.

Pro tento dotaz chcete složený index na (marketId, buy) .

create index idx_price_market_buy ON price (marketId, buy);

Na pořadí sloupců v indexu záleží:nejprve dotaz filtruje podle marketId (takže chcete, aby tento sloupec byl na první pozici v indexu souhrnu), pak vypočítá maximální buy .




  1. Jak mohu vložit data do databáze MySQL?

  2. Co je InnoDB a MyISAM v MySQL?

  3. Indexováno ORDER BY s LIMITEM 1

  4. Konzole MySQL je pomalá při importu velkých souborů SQL