zoukankan      html  css  js  c++  java
  • 新到一个公司做DBA遇到的困局

    今天是我我刚到一个公司上班3个月,2个月的时候我转正了,我在两个月内把公司主要系统的性能压力降低了。

    可是我更加困惑了。我发现服务器CPU的压力来源与数据库的拙劣设计,查询的性能低下。由于公司系统是一个历史遗留问题,

    这我无能为力,但查询我可以改变吧,公司存储过程和查询语句统一用一种格式,存储过程的参数一般在10个以上,然后还给了默认值,

    例如:

    create proc test

    (

      @a1 int=-1,

      @a2 nvarchar(50)='',

    .......

    )

    在查询语句中,会发现全部都是:

    select col1,col2......,coln from tb1 join tb2 on tb1.id=tb2.id join ......

    where (@a1=-1 or tb1.id=@a1)

    and (@a2='' or tb1.name in (select * from function_split(@a2,',')))

    ......

    这样写的结果就是大多数查询都是使用并行查询,我通过限制并行查询度和阀值调整了,依然不够。

    叫相关负责人改,也不理会。

    当你知道系统问题在哪里,也知道怎么解决,但却无法下手的时候,真的很无奈,困惑。

  • 相关阅读:
    20201031
    20201028
    20201026
    20201027
    20201020
    ReentrantReadWriteLock原理分析
    java中Thread源码介绍
    CountDownLatch原理分析
    Semaphore原理分析
    AQS-共享模式分析
  • 原文地址:https://www.cnblogs.com/FreeFire/p/3848404.html
Copyright © 2011-2022 走看看