DBA可以通過閱讀TSQL代碼來發現性能問題嗎? DBA是否有這種能力?DBA可以通過閱讀TSQL代碼來發現性能問題嗎?
1
A
回答
1
一個好的DBA可以檢測到使用無非是茶葉和雞內臟的問題。
雖然嚴重,一個好的DBA的特點是沒有這麼多的能夠檢測的問題,而是要能夠檢測到可能出現的問題的基礎上,這種靜態分析。
舉例來說,一個好的DBA可以看看:
select * from tbl where col1 = 7 order by col2;
,並立即弄清楚的是:
- 該查詢要麼使用他們所要求的每列的用戶,或他們應該要求更少。
- 表可能需要在
col1
和col2
列的索引。
現在,這兩個潛在問題領域是不足以決定是否有問題。爲了確定這一點,DBA需要檢查數據庫模式和統計信息。但靜態分析應該是一個好的開始。
所以,在回答您的實際問題,沒有,他們一般不會找到只有在閱讀TSQL(或任何SQL)的問題,但他們應該能夠使用這些信息來定位自己的努力。
1
號她就至少需要擁有表模式和索引定義,以便能夠開始猜測,而對於一個受過教育的意見,她希望看到來自現場的數據庫性能分析信息。
可能有一些一般性的「你不能這樣做」的錯誤,她可以通過看查詢追趕,但對於大多數性能問題,這一切都取決於配置和環境。
2
DBA應該理解TSQL,並能夠識別問題。
說了這麼多,查詢的執行只是部分由TSQL本身引起的。
它也非常依賴託管SQL Server的機器的索引,觸發器,表結構和體系結構。
所以TSQL只是DBA必須考慮的一個因素。
相關問題
- 1. 閱讀屬性可能嗎?
- 2. Joomla 1.5和VirtueMart:可以通過升級來解決性能問題嗎?
- 3. C#代碼可讀性問題
- 4. 可以通過類codemirror發現textareas嗎?
- 5. Google閱讀器:我可以通過編程訪問「訂閱者數量」嗎?
- 6. 閱讀netty的問題源代碼
- 7. 代碼堵塞練習 - 閱讀問題
- 8. 我可以發佈代碼來閱讀開放源碼許可證下的標準格式嗎?
- 9. 通過.NET閱讀JIRA問題
- 10. 可以通過模塊/靜態類來提高ASP.NET性能嗎?
- 11. 我可以通過代碼而不是屬性指定XMLRoot嗎?
- 12. 可以使用ETW事件來追蹤perf性能問題嗎?
- 13. VBA代碼性能問題
- 14. 我們可以閱讀ios storyboard xml代碼嗎?
- 15. 我可以練習閱讀手臂代碼的地方嗎?
- 16. 可以使用多個觸發器導致性能問題嗎?
- 17. 當用戶閱讀功能時發現蛋糕php問題
- 18. 哪裏可以找到漂亮的PHP代碼來閱讀?
- 19. 您可以通過散步對象樹來閱讀註釋
- 20. 這個jQuery/HTML代碼中的性能/可訪問性問題?
- 21. 併發性可以提高性能嗎?
- 22. 我可以通過BufferedImage讀取InputStream嗎?
- 23. 通過代碼繪製圓角可以通過代碼
- 24. 有人可以通過這個Java代碼走過我嗎?
- 25. 任何人都可以通過這段代碼走過我嗎?
- 26. 傳統項目中C#代碼可能出現的性能問題
- 27. 通過計算的TSQL組問題
- 28. 如何閱讀DBA的建議?
- 29. 使用過多的livequery可能會出現性能問題
- 30. 你可以從TSQL代碼調用Web服務嗎?
他可能也想看到一個綁定變量而不是文字'7'。 – Thilo 2010-10-05 07:16:06
一個好的DBA可能會推薦一個單獨的複合索引(col1,col2),而不是兩個單獨的索引:) – BradC 2010-10-14 13:23:10