Db2数据库稳定性解决方案

常见的数据库查询或写入慢,一般有以下情况

1、数据库经常有删除或有大量查询,(导致磁盘碎裂,数据库缓存堆积)

2、数据量大,导致在查询或写入时,由于负载高,导致系统慢

3、业务代码本身有大量对象,导致查询或写入慢,如有大量慢sql,以及有大量冗杂的对象

4、数据库(数据库中有大量的大宽表,以及数据量大的表)承载的数据量大,导致查询或写入慢

正对以上几种情况,给出以下解决方案:

  1. 数据库经常有删除或有大量查询,(导致磁盘碎裂,数据库缓存堆积)

针对以上问题,需给出以下解决方案:

对现有数据库进行优化

数据库经过一段时间使用,数据库空间变得越来越庞大,一些delete的数据仍存放在数据库中,占用数据空间,影响系统性能。因此需要定期运行以下命令进行优化

     运行reorg、runstats命令,清楚delete数据,优化数据结构

  1. Db2 reorg table 表名
  2. Db2 runstats on table 表明  with distribution and indexes all

因为要优化的表比较多,所以在/btp/bin目录下提供了一个sh程序runsall,即可在当天任务结束后,运行runsall,对数据库进行优化

  1. 数据量大,导致在查询或写入时,由于负载高,导致系统慢。

争对数据量大,这种情况,需将根据数据根据业务拆分,按照存储,数据分层,从而减小数据库压力

  1. 业务代码本身有大量对象,导致查询或写入慢,如有大量慢sql,以及有大量冗杂的对象。争对该种情况
        (1)、优化代码,减少大量对象,如只查询有用的字段,对无用的字段进行注释
        (2)、尽量使用业务走索引的方式去做查询 ,减少函数的使用等,具体情况要根据业务进行分析,而后给出争对性解决方案
  2. 数据库(数据库中有大量的大宽表,以及数据量大的表)承载的数据量大,导致查询或写入慢
        争对以上情况,需对大宽表进行贴进业务式改造,如某业务只使用了某几个字段,那可将这几个字段从大宽表中拆分出来,而后进行相应的查询,当然以上只是某中情况,具体情况还需根据业务需求,对表进行设计
        如是:星形模式   还是雪花模式去设计里,要根据相应的问题给出相应的解决方案

  • 19
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值