当前位置: 首页 > news >正文

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. 数据库(数据库中有大量的大宽表,以及数据量大的表)承载的数据量大,导致查询或写入慢
        争对以上情况,需对大宽表进行贴进业务式改造,如某业务只使用了某几个字段,那可将这几个字段从大宽表中拆分出来,而后进行相应的查询,当然以上只是某中情况,具体情况还需根据业务需求,对表进行设计
        如是:星形模式   还是雪花模式去设计里,要根据相应的问题给出相应的解决方案

http://www.lryc.cn/news/335680.html

相关文章:

  • 如何用Python编写简单的网络爬虫(页面代码简单分析过程)
  • 【随笔】Git 高级篇 -- 最近标签距离查询 git describe(二十一)
  • 【leetcode面试经典150题】7.买卖股票的最佳时机(C++)
  • 个人求职简历(精选8篇)
  • Ubuntu22.04安装Anaconda
  • 后端nginx使用set_real_ip_from获取用户真实IP
  • python使用leveldb
  • hcs部署场景
  • 从零开始学习的ai教程视频,如何入手?
  • 【精选】发布应用到应用商店的基本介绍
  • LC 572.另一棵树的子树
  • PPT 操作
  • python项目练习——19、单词计数器
  • 单链表专题
  • js把数组中的某一项移动到第一位
  • MyBatis如何实现分页
  • 在 Python 编程中,面向对象编程的核心概念包括哪些部分?
  • elementui树形组件自定义高亮颜色
  • 富格林:技巧抵抗曝光虚假套路
  • 24年权威数学建模报名通知汇总(含妈妈杯、国赛、美赛、电工杯、数维杯、五一数模、深圳杯......)
  • 【C语言自定义类型之----结构体,联合体和枚举】
  • [Java基础揉碎]StringBuffer类 StringBuild类
  • Android Studio修改项目包名
  • c++语言增强的地方
  • 评论发布完整篇(react版)
  • 前端window.open的简单使用
  • 基于开源软件构建存储解决方案的思考
  • 【leetcode】动态规划::前缀和(二)
  • SpringBoot自动装配原理之@Import注解解析
  • 49 样式迁移【李沐动手学深度学习v2课程笔记】