有時(並不總是!)我與a有性能問題。後面的SQL不是很好,但通常(當它正常工作時)性能就足夠了。SQL Server - 有時性能不佳並且缺少索引提示 - 爲什麼?
現在我注意到,有時性能非常差(需要花費10倍左右)。所以我用執行計劃檢查了SQL。
在情況下,我發現性能問題,我得到
缺少指數(影響59.007)消息:創建非聚集索引....
所以我檢查了命名錶時的索引我有問題,什麼時候沒有。在這兩種情況下,我都有相同的索引。
所以,現在,我的問題:
- 爲什麼我得到有時缺失索引信息,有時不是當我指定表的索引不會改變?
- 你有什麼想法爲什麼我有時會遇到這些性能問題(以及不同的執行計劃)嗎?
編輯: CREATE TABLE語句:
CREATE TABLE [dbo].[t1](
[c1] [int] IDENTITY(1,1) NOT NULL,
[c2] [nvarchar](50) NULL,
[c3] [nvarchar](50) NULL,
[c4] [nvarchar](50) NULL,
[c5] [date] NULL,
[c6] [date] NULL,
[c7] [nvarchar](50) NULL,
[c8] [int] NULL,
[c9] [int] NULL,
[c10] [nvarchar](50) NULL,
[c11] [decimal](15, 2) NULL,
[c12] [int] NULL,
[c13] [int] NULL,
[c14] [nvarchar](50) NULL
) ON [PRIMARY]
5單獨的索引(4個非集羣,1 clusted)
如果您需要了解更多信息,請告訴我
SQL代碼和/或用於創建表的腳本在哪裏? – madtyn
具有不同計劃的SQL查詢是否相同?如果是這樣,您可以嘗試添加'OPTION(RECOMPILE)'提示以避免參數嗅探。將執行計劃上傳到https://www.brentozar.com/pastetheplan/ –
您能向我們展示在此表上執行的查詢嗎? –