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

SQL SERVER 2016 – Porovnání plánů provádění

Nové nástroje přinášejí nové možnosti a někdy jsou zakořeněné hluboko v produktu, že je snadno můžeme přehlédnout. A SQL Server 2016 není jiný. Po instalaci CTP jsem byl příjemně překvapen, když jsem viděl tento doplněk, který má pomoci našim DBA, kteří provádějí ladění výkonu a ladění dotazů.

O čem to tedy mluvím? Představte si scénář, ve kterém provádíte nějaký druh testování v prostředí QA. Zdá se, že řešíte problémy s produkčním scénářem a zjistili jste, že právě tento scénář ve vašem testovacím prostředí funguje velmi dobře. I když jste data z produkční databáze přenesli na testovací server kontroly kvality před necelým měsícem, stále vás trápí otázka – proč tento rozdíl?

Dalším požadavkem, na který se každý dívá, je začít porovnávat prováděcí plány mezi vaším produkčním a testovacím prostředím pro stejný dotaz. Některé z prováděcích plánů na produkčním serveru se někdy mohou spustit na stránky a je obtížné vizuálně najít rozdíl.

SQL Server 2016 – porovnání plánů

Pokud máte plán provádění ze svého produkčního prostředí, pokračujte a otevřete jej v SQL Server 2016 Management Studio a kliknutím pravým tlačítkem zobrazíte následující možnost:

Vidíte, že jde o zajímavý doplněk. Je třeba vybrat „Porovnat plán zobrazení“. Nyní vyberte plán, který byl vygenerován z vašeho testovacího prostředí. To způsobí, že oba prováděcí plány budou zobrazeny vedle sebe, jak je znázorněno níže. Podívejte se na fialovou barvu na uzlech.

To představuje skutečnost, že oba uzly jsou stejné, ale mají určité rozdíly v některých vlastnostech. Nyní je na nás, abychom klikli pravým tlačítkem a vyvolali kartu vlastností.

Zde můžeme pokračovat a porovnat každou z vlastností uzlů, abychom zjistili, kde jsou rozdíly mezi plány. Toto jsou úžasné funkce přidané v nové verzi.

Jsem si jist, že tuto funkci najdete ve cvičeních pro ladění dotazů ve vašem prostředí. Jedna věc, kterou jsem viděl, je zajímavá, když vezmete živý „Plán skutečného provedení“ a pokusíte se jej porovnat s uloženým souborem .sqlplan – objeví se chyba, jak je uvedeno níže:

Dejte mi vědět, zda byste tuto funkci použili a zda jste ji použili – jaká vylepšení byste si přáli od tohoto operátora porovnání? Určitě bych se od vás rád učil.


  1. Co jsou SQL Operators a jak fungují?

  2. Autoincrement PostgreSQL

  3. SQL Server 2016:Vždy šifrováno

  4. NullPointerException na getReadableDatabase()