KB2938462-FIX: chybějící nebo nesprávné informace o chybějících indexech při dotazování v systému SQL Server 2014

Příznaky

Předpokládejme, že používáte Microsoft SQL Server 2014. Můžete se setkat s následujícími dvěma problémy, které jsou součástí SQL serveru 2014 – poznámky k verzi:

  • Chybějící podrobnosti indexu nesprávná sestava zahrnutých sloupců pro pamìově optimalizované problémy s tabulkou: Pokud SQL Server 2014 zjistí chybějící index pro dotaz v tabulkově optimalizované tabulce, ohlásí chybějící index v SHOWPLAN_XMLu, jako je třeba sys.dm_db_missing_index_details. V některých případech budou chybějící údaje rejstříku obsahovat zahrnuté sloupce. Protože jsou všechny sloupce implicitně zahrnuté ve všech indexech v tabulkách optimalizované pro paměť, není povoleno explicitně určovat zahrnuté sloupce s indexy optimalizovanými pro paměť.

  • Podrobnosti chybějících indexů vynechat chybějící indexy, pokud existuje index hash, ale není vhodný proproblém s dotazem: Pokud máte k DISpozici hash index ve sloupcích tabulky optimalizované pro paměť, na kterou se v dotazu odkazuje, ale index se nedá použít pro dotaz, SQL Server 2014 nikdy neohlásí chybějící index v SHOWPLAN_XML a v sys.dm_db_missing_index_details DMV. Konkrétně platí, že pokud dotaz obsahuje predikáty rovnosti, které zahrnují podmnožinu sloupců klíč indexu nebo pokud obsahuje predikáty nerovnosti, které obsahují klíčové sloupce indexů, nelze index algoritmu HASH použít tak, jak je, a pro efektivní provedení dotazu by se vyžadoval jiný index.

Příčina

K problémům dochází, protože chybějící logika indexu v optimalizátoru dotazů nerozlišuje mezi tradičními neclusterovanými indexy v diskových tabulkách a novým typem indexu pro tabulky optimalizované pro paměť.

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:

Alternativní řešení

Pokud chcete tento problém vyřešit, použijte následující alternativní řešení:

  • Řešení problému: chybějící podrobnosti indexu nesprávné hlášení zahrnutých sloupců pro paměťově optimalizované tableDo neurčují klauzuli INCLUDE s indexy v paměťově optimalizovaných tabulkách.

  • Alternativní řešení problému: chybějící podrobnosti o indexu vynechat chybějící indexy, pokud existuje index hash, ale není vhodný pro queryIn pro případ, že používáte indexy hash, Prohlédněte si plány dotazů a dotazů a zjistěte, jestli by dotazy mohly využívat při operacích hledání indexu v podmnožině indexu klíčů, nebo při operacích hledání indexu u predikátů nerovnosti. Pokud potřebujete hledat podmnožinu klíče indexu, použijte neclusterovaný index nebo použijte ZATŘIĎOVACÍ index přesně u sloupců, které potřebujete. Pokud potřebujete vyhledat predikát nerovnosti, použijte místo hodnoty HASH neclusterovaný index.

Poznámka Alternativní řešení jsou od SQL serveru 2014 – poznámky k verzi

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×