sql >> Databáze >  >> RDS >> Sqlserver

Přidání vnitřního dotazu nemění plán provádění

Právě se děje „optimalizátor dotazů“. Když spustíte dotaz, SQL Server používá optimalizátor založený na nákladech, aby určil, jaký je pravděpodobně nejlepší způsob, jak splnit tento požadavek (tj. plán provádění). Představte si to jako mapu trasy z místa A do místa B. Může existovat mnoho různých způsobů, jak se dostat z místa A do místa B, některé budou rychlejší než jiné. SQL Server bude trénovat různé cesty, aby dosáhl konečného cíle vrátit data, která vyhovují dotazu, a použít ten, který má přijatelné náklady. Všimněte si, že nemusí nutně analyzovat VŠECHNY možné způsoby, protože by to bylo zbytečně drahé.

Ve vašem případě optimalizátor zjistil, že tyto 2 dotazy lze sbalit na stejnou věc, takže získáte stejný plán.




  1. EF Core GroupBy s Select Distinct Count

  2. Maximální počet znaků ve štítcích (názvy tabulek, sloupce atd.)

  3. jak získat nejnovější záznam nebo záznam s maximálním odpovídajícím datem všech různých hodnot ve sloupci v mysql?

  4. MySql Cursor - Vytvoření procedury