zoukankan      html  css  js  c++  java
  • 新入职,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语句时给予了很大的帮助。

  • 相关阅读:
    Combine 框架,从0到1 —— 4.在 Combine 中使用计时器
    Combine 框架,从0到1 —— 4.在 Combine 中使用通知
    Combine 框架,从0到1 —— 3.使用 Subscriber 控制发布速度
    Combine 框架,从0到1 —— 2.通过 ConnectablePublisher 控制何时发布
    使用 Swift Package Manager 集成依赖库
    iOS 高效灵活地配置可复用视图组件的主题
    构建个人博客网站(基于Python Flask)
    Swift dynamic关键字
    Swift @objcMembers
    仅用递归函数操作逆序一个栈(Swift 4)
  • 原文地址:https://www.cnblogs.com/FreeFire/p/4386550.html
Copyright © 2011-2022 走看看