2010-10-05 16 views

回答

1

一個好的DBA可以檢測到使用無非是茶葉和雞內臟的問題。

雖然嚴重,一個好的DBA的特點是沒有這麼多的能夠檢測的問題,而是要能夠檢測到可能出現的問題的基礎上,這種靜態分析。

舉例來說,一個好的DBA可以看看:

select * from tbl where col1 = 7 order by col2; 

,並立即弄清楚的是:

  • 該查詢要麼使用他們所要求的每列的用戶,或他們應該要求更少。
  • 表可能需要在col1col2列的索引。

現在,這兩個潛在問題領域是不足以決定是否有問題。爲了確定這一點,DBA需要檢查數據庫模式和統計信息。但靜態分析應該是一個好的開始。

所以,在回答您的實際問題,沒有,他們一般不會找到只有在閱讀TSQL(或任何SQL)的問題,但他們應該能夠使用這些信息來定位自己的努力。

+0

他可能也想看到一個綁定變量而不是文字'7'。 – Thilo 2010-10-05 07:16:06

+0

一個好的DBA可能會推薦一個單獨的複合索引(col1,col2),而不是兩個單獨的索引:) – BradC 2010-10-14 13:23:10

1

號她就至少需要擁有表模式和索引定義,以便能夠開始猜測,而對於一個受過教育的意見,她希望看到來自現場的數據庫性能分析信息。

可能有一些一般性的「你不能這樣做」的錯誤,她可以通過看查詢追趕,但對於大多數性能問題,這一切都取決於配置和環境。

2

DBA應該理解TSQL,並能夠識別問題。

說了這麼多,查詢的執行只是部分由TSQL本身引起的。
它也非常依賴託管SQL Server的機器的索引,觸發器,表結構和體系結構。

所以TSQL只是DBA必須考慮的一個因素。

相關問題