我要執行的下一個刪除查詢:一列索引對2列索引
delete from MyTable where userId = 5
什麼下面索引會對這個查詢更好的性能,或者將它們都執行相同的?
所有在這裏提到的字段是BigInt有
CREATE INDEX MyTable_UserId_UserBalance_index ON Main.dbo.MyTable (UserId, UserBalance);
CREATE INDEX MyTable_UserId_index ON Main.dbo.MyTable (UserId);
更好地問上dba.stackexchange.com,也許? – GrandMasterFlush
第一個索引具有較大的條目,每個頁面的條目數會更少,並且可能需要更多的讀取次數。更重要的是系統的整體性能。如果您在索引中嘗試優化每個單獨的查詢,那麼您將影響必須更新所有這些索引的查詢。參見[過早優化](http://xkcd.com/1691/)。 – HABO
@GrandMasterFlush這是其中一個重疊這兩個堆棧論壇 – Eli