sql >> Database >  >> RDS >> Sqlserver

Passende SQL-serverindex voor alleen invoegen schema

Alleen index invoegen:S I dunne schema's voor alleen invoegen kunnen het beste zonder indexen worden gelaten, maar het hebben van een index op een tabel zal de prestaties van uw invoegbewerkingen schaden.

Hoe zit het met het maken van een index op feeditem_id en effectiveDateUTC velden zoiets als

CREATE NONCLUSTERED INDEX NIX_feeditem_id_effectiveDateUTC
ON dbo.spotquotes(feeditem_id ASC, effectiveDateUTC DESC)
GO

en schrijf je vraag nu zoiets als .....

;WITH LastestRecords
 AS(
   SELECT Id 
        ,feeditem_id 
        ,value_ask
        ,value_bid
        ,effectiveDateUTC
        ,ROW_NUMBER() OVER (PARTITION BY feeditem_id ORDER BY ffectiveDateUTC DESC) AS RN
  FROM spotquotes
  )
 SELECT Id 
        ,feeditem_id 
        ,value_ask
        ,value_bid
        ,effectiveDateUTC
 FROM LastestRecords
 WHERE RN = 1

OF

Maak als volgt een index

CREATE NONCLUSTERED INDEX NIX_feeditem_id_Id
ON dbo.spotquotes(feeditem_id ASC, ID DESC)
GO

Zoekopdracht

;WITH LastestRecords
 AS(
   SELECT Id 
        ,feeditem_id 
        ,value_ask
        ,value_bid
        ,effectiveDateUTC
        ,ROW_NUMBER() OVER (PARTITION BY feeditem_id ORDER BY Id DESC) AS RN
  FROM spotquotes
  )
 SELECT Id 
        ,feeditem_id 
        ,value_ask
        ,value_bid
        ,effectiveDateUTC
 FROM LastestRecords
 WHERE RN = 1


  1. Wanneer NULL gebruiken in MySQL-tabellen?

  2. MVC3 Alleen-lezen MySql-verbindingsreeks

  3. Databases en tabellen weergeven in PostgreSQL

  4. Hoe u ervoor kunt zorgen dat de externe sleutel van de onderliggende tabel dezelfde waarde heeft als de primaire auto-incrementsleutel van de ouder?