2012-09-27 35 views
1

我正在使用SQL Server 2008 R2數據庫優化顧問來調整第三方ERP系統使用的一個數據庫。目前,這個ERP應用程序在用戶執行的特定操作中確實存在一些嚴重的性能問題。創建聚簇索引是否會中斷我的應用程序

我使用SQL Server配置文件在一天的繁忙時間內跟蹤他們的生產數據庫幾個小時。昨晚我讓數據庫調優顧問咀嚼痕跡,並提出了很多建議,並承諾89%的性能提升!

所以現在,我明白從建議我應該首先創建建議的聚集和唯一索引,然後重做跟蹤和調整。

是否有可能通過創建聚集索引我一些如何破壞應用程序的功能?

+0

是什麼樣的數據庫呢?每個普通的面向OLTP的表都應該有一個聚集索引(主要是像Id int identity(1,1)主鍵聚集的那樣)。還應該使用調優顧問提示,而不是盲目執行推薦 – RomanKonz

+0

整個數據庫中只有很少的聚集索引,並且此數據庫有少於一百萬行的表。沒有那麼多的行,但我認爲應用程序運行速度更快,索引更好。 這些表確實有這個pk列的「唯一非聚集索引」,但是調優顧問認爲我應該爲同一列創建一個聚集索引 – user1703059

+0

而對於問題,這是一個erp應用程序使用的數據庫,它完成與.NET。它可以處理CRM,銷售,發票,生產管理,庫存管理等等。 所以這是相當繁重的用途。它確實有幾個極其緩慢的功能,需要幾分鐘才能完成。 – user1703059

回答

0

是否有可能通過創建聚集索引我一些如何破壞應用程序功能?

沒有,當然產生聚集索引/唯一索引將不會從功能的角度打破你的應用程序,因爲這些將是檢索時十分有用,其中指數將代替協商執行表掃描。它們不會對如何將數據存儲在表中(如完整性約束(PRIMARY KEY,UNIQUE KEY,FOREIGN KEY等))施加任何限制。

+0

謝謝,我將首先通過先建議的聚簇索引開始,然後讓我們看看它是如何影響性能的。 – user1703059

0

集羣索引在更新和插入新記錄時可能會破壞應用程序性能。聚簇索引告訴SQL按照聚簇索引中定義的順序放置記錄。

如果新記錄會打亂此訂單,則SQL必須在表中移動許多記錄以確保每個新記錄的聚簇索引順序。

相關問題