當我創建一個全新的數據庫和/或表時,應該遵循什麼樣的索引策略。因爲我不會有任何用戶查詢來分析或要求找到主要使用的列。什麼應該是我的索引戰略/(哪些列應該框住聚集,哪些列應該參與非聚集)?在這種情況下我應該如何繼續?新表上的索引策略 - SQL Server
1
A
回答
1
事先不知道什麼,你能做的最好的就是慷慨申請指標。這會大大降低寫入性能,但至少可以很好地處理意外的查詢。
1
索引當前在函數/存儲過程中使用的列。一旦您的應用程序開始使用,您可以相應地進行調整並運行調整嚮導。
1
當涉及新的開發項目與生產支持時,在索引進入優先級列表時很難有絕對的答案。就新的開發項目而言,在數據庫設計,索引策略和數據訪問代碼上花費同等時間是明智的。沒有它,應用程序可能成爲一個需要在生產環境中引起高度關注的維護噩夢。在很多方面,如果數據庫被認爲是一個預計永遠沒有任何關注地運行的黑匣子,說起來容易做起來難。如果你面對這個問題,那麼有必要首先改變這種心態,並確保時間,精力和資源正確地滿足向前發展的數據庫需求。
對於生產應用程序,查看索引和查詢計劃在發生性能問題時應該是高優先級。在很多方面,改變或添加索引應該是經過審查,分析,測試和部署的許多項目之一,而不是考慮索引是解決性能問題的靈丹妙藥。
索引的另一個重要考慮因素是隨着應用程序的更改,索引可能也需要更改。不要認爲索引停滯不前,而是要考慮索引含義的代碼。因此,隨着應用程序的變化,不要害怕改變,測試和部署改進的索引策略。
你可以閱讀這裏進一步http://www.mssqltips.com/sqlservertip/1452/sql-server-index-checklist/
相關問題
- 1. SQL Server中的表/視圖/索引視圖策略
- 2. lucene索引更新策略
- 3. SQL Server表上的索引
- 4. Laravel索引策略
- 5. MySQL索引策略
- 6. solr索引策略
- 7. 父子表的SQL策略
- 8. SQL Server事實表索引
- 9. SQL Server索引
- 10. SQL Server索引
- 11. SQL Server索引
- 12. MySQL DB的最佳索引策略
- 13. 數據庫部署策略(SQL Server)
- 14. 何時創建新的SQL Server索引?
- 15. 搜索策略
- 16. SQL Server - 計算列上的索引?
- 17. SQL Server 2008上的全文索引
- 18. MS SQL Server 2005上的索引varchar
- 19. 位域上的SQL Server索引
- 20. SQL Server; TEXT列上的索引
- 21. SQL - Windows策略
- 22. 從非索引視圖引用索引表的SQL Server SELECT
- 23. 用於插入高讀取表(Sql Server)的數據庫策略
- 24. 在SQL Server 2000中識別未使用表的策略?
- 25. Solr索引策略問答網站
- 26. Lucene索引/連字符查詢策略
- 27. SQL Server:如何防止索引現有數據的新索引
- 28. 索引SQL SERVER中的大表
- 29. SQL Server 2008 - 索引表的優點
- 30. SQL Server索引 - HEAP上的非聚簇索引
我不知道如何回答這個問題。索引策略通常基於已知(或假定)的一組查詢和更新操作來構建。如果您構建的數據庫僅發生插入操作,則無論是否索引或基於遞增值的單一(聚集)索引都將是最有效的。在開始查詢時它不起作用,但是如果不知道需要支持哪種類型的查詢,則無法建立索引策略。 – 2012-04-21 20:13:09