sql >> Database >  >> RDS >> Sqlserver

Een INDEX toevoegen aan een CTE

Ik heb dezelfde eis gehad. Indexen kunnen niet aan een CTE worden toegevoegd. Selecteer in de CTE echter het toevoegen van een ORDER BY clausule op de samengevoegde velden verminderde de uitvoeringstijd van 20 minuten of meer tot minder dan 10 seconden.

(U moet ook SELECT TOP 100 PERCENT TOEVOEGEN om een ​​ORDER BY in een CTE-selectie toe te staan.)

[bewerken om geparafraseerd citaat uit een opmerking hieronder toe te voegen]:
Als u DISTINCT in de CTE heeft, werkt TOP 100 PERCENT niet. Deze cheatermethode is altijd beschikbaar:zonder TOP in de selectie te hoeven gebruiken, verander het ORDER BY-statement om te lezen:
ORDER BY [Blah] OFFSET 0 RIJEN



  1. timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP kan op de ene machine nul zijn, maar niet op een andere?

  2. kan geen verbinding maken met AWS VPC RDS-instantie (mysql of postgres)

  3. Hoe gegevens behouden met behulp van postgres docker-afbeelding?

  4. Waarschuwing:mysql_fetch_array():opgegeven argument is geen geldig MySQL-resultaat