sql >> Database teknologi >  >> RDS >> Sqlserver

Tilføjelse af et INDEX til en CTE

Jeg har haft samme krav. Indekser kan ikke tilføjes til en CTE. I CTE skal du dog vælge at tilføje en ORDER BY klausul på de sammenføjede felter reducerede udførelsestiden fra 20 minutter eller mere til under 10 sekunder.

(Du skal også TILFØJ SELECT TOP 100 PROCENT for at tillade en BESTILLING AF i et CTE-valg.)

[rediger for at tilføje omskrevet citat fra en kommentar nedenfor]:
Hvis du har DISTINCT i CTE, så virker TOP 100 PROCENT ikke. Denne snydermetode er altid tilgængelig:uden overhovedet at have brug for TOP i valget, ændre ORDER BY-sætningen til at læse:
ORDER BY [Blah] OFFSET 0 ROWS



  1. mysqli_query virker i phpmyadmin, men ikke i php

  2. MySQL- og MariaDB-biblioteker i C++ ved hjælp af cmake, mingw

  3. Hvordan man skriver og udfører et shell-script for at oprette en mysql-databank og en tabel

  4. Amazon RDS Aurora vs RDS MySQL vs MySQL på EC2?