• MySQL-数据库优化策略概述


    目录

    一、优化目标

     二、定位问题

    三、调优的维度和步骤


    一、优化目标

            1.尽可能节省系统资源 ,以便系统可以提供更大负荷的服务。(吞吐量更大)         

            2.合理的结构设计参数调整,以提高用户操作响应速度 。(响应速度更快)

            3.减少系统的瓶颈,提高MySQL数据库整体的性能。

     二、定位问题

            1.用户的反馈(主要)

            2.日志分析(主要)

            3.服务器资源使用监控

            4.数据库内部状况监控

            5.对事务锁等待的监控

    三、调优的维度和步骤

    第1步:选择适合的 DBMS

    第2步:优化表设计

    第3步:优化逻辑查询

    第4步:优化物理查询

            物理查询优化是在确定了逻辑查询优化之后,采用物理优化技术(比如索引等),通过计算代价模型对 各种可能的访问路径进行估算,从而找到执行方式代价最小的作为执行计划。在这个部分中,我们需 要掌握的重点是对索引的创建和使用

    第5步:使用 Redis 或 Memcached 作为缓存

            除了可以对 SQL 本身进行优化以外,我们还可以请外援提升查询的效率。 因为数据都是存放到数据库中,我们需要从数据库层中取出数据放到内存中进行业务逻辑的操作,当用 户量增大的时候,如果频繁地进行数据查询,会消耗数据库的很多资源。如果我们将常用的数据直接放到内存中,就会大幅提升查询的效率。 键值存储数据库可以帮我们解决这个问题。 常用的键值存储数据库有 Redis Memcached,它们都可以将数据存放到内存中。

    第6步:库级优化

            1、读写分离

                    经典的数据库拆分方案,主库负责写,从库负责读。

            2、垂直拆分

                    当数据量级达到 千万级 以上时,有时候我们需要把一个数据库切成多份,放到不同的数据库服务器, 减少对单一数据库服务器的访问压力。 

                    数据表过多,可以将相关联的表放在一个数据库上;

                    数据列过多,把拆分若干个,经常一起使用的列放在一起。    

    -垂直拆分的优点: 可以使得列数据变小,在查询时减少读取的Block数,减少I/O次数。此外,垂直分区 可以简化表结构,易于维护

    -垂直拆分的缺点: 主键会出现冗余,需要管理冗余列,并会引起 JOIN 操作。此外,垂直拆分会让事务变得更加复杂。 

            3、水平拆分

                    水平分表主要解决单一表数据量过大的问题。可以按照某个属性维度把大表拆分成若干小表。每张小表有相同结构。比如按照年份切分。

             4.拆分表:冷热数据分离

            例如 会员members表 存储会员登录认证信息,该表中有很多字段,如id、姓名、密码、地址、电话、个人描述字段。其中地址、电话、个人描述等字段并不常用,可以将这些不常用的字段分解出另一个表。

            通过这种分解可以提高表的查询效率。对于字段很多且有些字段使用不频繁的表,可以通过这种分解的 方式来优化数据库的性能。

            5.建立中间表

            对于经常JOIN的若干表,可以建立一个中间表。这样就不用每次都进行联合查询,可以提高数据库的查询速度。

            6. 增加冗余字段

            7.优化数据类型

            8.使用非空约束

  • 相关阅读:
    windows 快捷操作
    商城项目04_SpringCloud Alibaba概述、Nacos作为注册、配置中心、声明式远程调用Feign
    PriorityQueue优先级队列
    【实战-05】 flinksql look up join
    边缘计算KubeEdge基础框架与实践
    6、【主要组件】Workflow:Workflow管理
    Vilatile底层逻辑总结
    Linux驱动开发led亮灯
    纯干货内容:关于ivx和mendix的对比 还在犹豫选择那个低代码平台的小伙伴看过来
    MAC系统“无法验证开发者”问题
  • 原文地址:https://blog.csdn.net/weixin_62427168/article/details/125608239