sql >> Databáze >  >> RDS >> Database

Další vylepšení showplanu? Ano prosím!

Protože se zdá, že Microsoft je v investiční náladě, vzhledem k jejich nedávnému přidání Actual Rows Read (viz tento příspěvek od Kendry Little pro více podrobností), myslel jsem, že upozorním na několik dalších vylepšení, o kterých si myslím, že by to byly skvělé nápady pro zlepšení života tunerů dotazů.

První je ten, který jsem zveřejnil nedávno a požádal jsem o XML, aby odhalil interpretovaný datový typ parametru (ať už pochází z proměnné, vstupního parametru nebo literálu):

  • Connect #2088233 :Přidejte datové typy parametrů do plánu show

Další je následující od Huga Kornelise, který požaduje přesnější počty řádků u operátorů spojení smyček (pozadí v Connect #491342). Paul White a Erland Sommarskog souhlasí:

  • Connect #743480 :Odstraňte nekonzistenci mezi skutečnými a odhadovanými řádky v plánech provádění

Když mluvíme o Paulu Whiteovi, doporučuje, aby jedinečné filtrované indexy byly optimalizátorem skutečně rozpoznány jako jedinečné; v současné době lze vytvářet suboptimální plány (ale toto bylo bez komentáře odstraněno):

  • Connect #782213 :Rozpoznat jedinečné filtrované indexy jako jedinečné

A Paul také doporučuje rozlišovat v plánu, když byla GROUP BY zjednodušena (také uzavřena, protože se neopraví, bez dalších informací):

  • Connect #730458 :Vylepšete plán show k rozlišení skalárních a vektorových agregátů

(Paul má také čtyři aktivní chyby, které byste si měli přečíst, IMHO.)

Nakonec si Adam Machanic stěžuje na všudypřítomný problém, kdy kliknutí na showplan XML v Management Studio poskytuje nezpracované XML místo grafického plánu:

  • Connect #652855 :Platný plán předvádění XML nedokáže automaticky vytvořit grafický plán představení

Určitě máte další nápady na vylepšení plánu show, včetně položek Connect, které jsem zde postrádal. Ale doufám, že si najdete čas si tyto problémy přečíst, porozumět jim, hlasovat a komentovat – i když se vám to možná nezdá, stojí za to , i když je položka aktuálně uzavřena.


  1. Jak vrátit sadu výsledků z uložené procedury v Oracle?

  2. Spuštění Galera Cluster na Kubernetes

  3. NÁVRAT NA POUŽITÍ Oracle v Javě (JDBC, Připravené prohlášení)

  4. Víceřádkové aktualizace PostgreSQL v Node.js