sql >> Databasteknik >  >> RDS >> Sqlserver

Tabellvariabel dålig prestanda vid infogning i SQL Server Stored Procedure

Använd ett tillfälligt bord. Du kommer att se mycket bättre prestanda.

En detaljerad förklaring av resonemanget bakom detta ligger utanför den initiala frågans omfattning, men för att sammanfatta:

  • En tabellvariabel är optimerad för en rad, av SQL Server, dvs den antar att 1 rad kommer att returneras.
  • En tabellvariabel skapar inte statistik.

Googles temptabell vs. tabellvariabel för en mängd resurser och diskussioner. Om du sedan behöver specifik hjälp, skicka ett mejl till mig eller kontakta mig på Twitter.



  1. MYSQL - Hämta alla poster som har mer än 1 post för samma id

  2. SSIS och MySQL - Problem med tabellnamnavgränsare

  3. Ta bort dubblettrader från tabell i Oracle

  4. SQL Beräkna den genomsnittliga tidsskillnaden mellan det totala antalet rader