新入职,DBA该干什么

2014年4月,我入职了新公司。在我入职之前,公司没有DBA,总监给我一个任务,优化一个业务系统。

于是给我说了一下当前的状况:

1、系统数据库经常宕机。

2、用户经常投诉说程序不响应。

我当时就两眼一抹黑,这能说明什么问题了,数据库有很大的问题,这是我的第一反应。

但是,工作必须进行下去,在没有资料,不懂业务的情况下,

第一步,我开始了长达一个月的监控:

1、使用windows性能监视器定义了数据收集器。

2、使用sqlprofiler抓取所有的sql语句。

第二步,分析日志:

1、根据数据收集器收集来的数据,分析服务器硬件瓶颈。

2、把sqlprofiler收集到的sql语句导入本地数据库,利用全文索引对tsql和存储过程进行统计分析。

第三步:

1、提交硬件升级方案。

2、重新配置数据库。

3、提交优化方案。

一个人又花费了2个月的时间,对系统进行优化,最后系统性能得到很大提升。

但我觉得系统的性能还有很大的提升空间,但我遇到一个问题,由于对系统业务逻辑不了解,

无法从根本上提升数据库性能,而修改数据库结构对系统影响更大,公司无法承受,所以,

一切止步于此。

 

之后又对公司的其他系统进行优化,这些优化让我对数据库设计有了很深的体会:

1、数据库设计有问题,无论怎么提升硬件性能,怎么优化,都无济于事。

2、优化最容易体现成果的是索引优化。

3、优化是全方位的,不仅仅需要知道tsql语句优化,索引优化等等,对系统业务逻辑的优化同样重要。

4、优化先从大的方面开始,然后再切入细节。

 

另外我得感谢桦仔,在我收集数据的过程中,正是看了他写的关于全文索引的博客,在统计tsql语句信息时,

我使用了全文索引,这对我在分析tsql语句时给予了很大的帮助。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。