sql >> Databáze >  >> RDS >> Oracle

sql Optimizer pro velkou tabulku DB

Pravděpodobně byste měli začít s EXPLAIN PLAN .

Potom upravte svou otázku a odešlete příkaz SQL a výstup EXPLAIN PLAN.

Později . . .

S tím dotazem ti moc nepomohu. 269 ​​řádků, alespoň 29 SELECTů, paralelní dotazy, vzdálené databáze, vnější spojení (starý styl) a tak dále.

Nejlepší rada, kterou vám mohu dát, je

  • získejte další informace z EXPLAIN PLAN a
  • zjednodušte problém.

tabulka plánu má více sloupců, než je běžně zveřejňováno. Sloupce COST, CARDINALITY, BYTES a TIME mohou být užitečné při stanovení priority vašeho úsilí při ladění.

V tomto dotazu máte 10 úplných skenů tabulky. ("TABLE ACCESS FULL" v plánu dotazů.) To je obvykle špatné znamení; Skenování celé tabulky často trvá relativně dlouho. Není to vždy špatné znamení. Úplné prohledání malé tabulky může být rychlejší než prohledání indexu.

Začněte získáním výstupu EXPLAIN PLAN pro každý z 29 příkazů SELECT ve vašem dotazu. Pokud některý z nich zobrazuje úplnou kontrolu tabulky, pravděpodobně můžete zlepšit jejich výkon pomocí vhodné indexy . (Oracle podporuje mnoho různých druhů indexů. Nepřehlédněte příležitosti pro vícesloupcové indexy.) V každém případě vám výstup EXPLAIN PLAN pomůže identifikovat nejpomalejší z 29 SELECTů.



  1. Jak se připojit k databázi SQL serveru z aplikace Windows 10 UWP

  2. 3 způsoby formátování čísla na 2 desetinná místa v Oracle

  3. Import vícehodnotového pole do Solr z mySQL pomocí Solr Data Import Handler

  4. Nejlepší odpovědi na 5 palčivých otázek o funkci COALESCE v SQL Server