DBA可以通过读取TSQL代码来发现性能问题吗? DBA是否应该具备这种能力?
答案 0 :(得分:2)
DBA应该了解TSQL,并能够识别它的问题。
话虽如此,查询的执行仅部分是由TSQL本身引起的 它还在很大程度上取决于托管SQL Server的机器的索引,触发器,表结构和体系结构。
因此,TSQL只是DBA必须考虑的一个因素。
答案 1 :(得分:1)
没有。她至少需要让表模式和索引定义能够开始猜测,并且对于受过教育的观点,她希望从实时数据库中看到性能分析信息。
通过查看查询,可能会有一些“你就是不能这样做”的错误,但对于大多数性能问题,这一切都取决于配置和上下文。
答案 2 :(得分:1)
一个优秀的DBA可以使用茶叶和鸡内脏来检测问题。
说真的,一个好的DBA的标志并不是能够检测到问题,而是能够根据这种静态分析来检测可能出现的问题。
举例来说,一个好的DBA可以看看:
select * from tbl where col1 = 7 order by col2;
并立即弄明白:
col1
和col2
列上的索引。现在,这两个潜在的问题区域还不足以决定是否存在问题。为了确定这一点,DBA需要检查数据库模式和统计信息。但静态分析应该是一个良好的开端。
因此,在回答您的实际问题时,不,他们通常不会仅通过阅读TSQL(或任何SQL)发现问题,但他们应该能够使用该信息来定位他们的工作。