sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2012 långsammare än 2005?

Min första tanke när jag ser sådana varianter är att se till att du har återskapat statistik för alla dina tabeller. Det finns många skript på webben för att göra detta och många diskussioner om huruvida man ska använda de inbyggda sprocs, om man ska göra fullscan etc. Här är ett snabbt och smutsigt skript som jag skulle köra innan jag gör jämförelser.

CREATE  PROCEDURE sp_UtilityUpdateStats AS
SET NOCOUNT ON

DECLARE @iCounter       INT
DECLARE @iCounterMax    INT

DECLARE @TableList TABLE
(
    iTable INT IDENTITY(1,1) PRIMARY KEY,
    szTableName VARCHAR(128)
)

INSERT @TableList (szTableName)
SELECT [name] FROM sysobjects
WHERE [type] = 'u'
ORDER BY [name] DESC


SET @iCounterMax = (SELECT MAX(iTable) FROM @TableList)
SET @iCounter = 0
DECLARE @szTableName VARCHAR(128)

RAISERROR(N'------STARTING sp_UtilityUpdateStats------', 10, 1) WITH LOG
WHILE @iCounter < @iCounterMax
BEGIN
    SET @iCounter = @iCounter + 1

    SELECT  @szTableName = szTableName
    FROM @TableList
    WHERE iTable = @iCounter

    RAISERROR(N'UPDATE STATISTICS YourDB.dbo.%s', 10, 1, @szTableName) WITH LOG
    EXEC ('UPDATE STATISTICS YourDB.dbo.' + @szTableName)

END
RAISERROR(N'------FINISHING sp_UtilityUpdateStats------', 10, 1) WITH LOG

SET NOCOUNT OFF
GO



  1. Kloning av databaser med PSDatabaseClone

  2. Varför misslyckas denna trigger? Det står ogiltig identifierare

  3. SQLSTATE[HY000] [2002] Inget sådant fil- eller katalogfel vid migrering av tabell i Laravel

  4. python + psycopg2 =okända typer?