Vložit pouze index :S Schémata pouze s tenkými vložkami je lepší ponechat bez jakýchkoli rejstříků, ale mít jakýkoli rejstřík v tabulce zhorší výkon vašich operací vkládání.
A co vytvoření indexu na feeditem_id
a effectiveDateUTC
pole něco jako
CREATE NONCLUSTERED INDEX NIX_feeditem_id_effectiveDateUTC
ON dbo.spotquotes(feeditem_id ASC, effectiveDateUTC DESC)
GO
a nyní napište svůj dotaz něco jako ......
;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
NEBO
Vytvořte index následovně
CREATE NONCLUSTERED INDEX NIX_feeditem_id_Id
ON dbo.spotquotes(feeditem_id ASC, ID DESC)
GO
Dotaz
;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