首页 > 代码库 > 新到一个公司做DBA遇到的困局
新到一个公司做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,‘,‘)))
......
这样写的结果就是大多数查询都是使用并行查询,我通过限制并行查询度和阀值调整了,依然不够。
叫相关负责人改,也不理会。
当你知道系统问题在哪里,也知道怎么解决,但却无法下手的时候,真的很无奈,困惑。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。