什么影响了数据库查询速度、什么影响了MySQL性能

本文探讨了影响数据库查询速度的因素,包括QPS、TPS、效率低下的SQL、并发量、CPU使用率和磁盘IO。大表和大事务也是主要问题,大表可能导致慢查询和DDL操作延迟,大事务可能造成数据锁定和回滚时间长。MySQL性能受服务器硬件、系统参数、存储引擎、数据库结构和SQL语句等影响。InnoDB存储引擎因其事务处理和行级锁支持成为推荐选项,但正确配置如innodb_file_per_table至关重要。优化策略包括避免大事务、选择合适的存储引擎和调整内存配置参数。
摘要由CSDN通过智能技术生成

 

一、什么影响了数据库查询速度

1.1 影响数据库查询速度的四个因素

 

 

1.2 风险分析

QPS:Queries Per Second 意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。

TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

Tips:最好不要在主库上数据库备份,大型活动前取消这样的计划。

  • 效率低下的sql:超高的QPS与TPS。
  • 大量的并发:数据连接数被占满(max_connection默认100,一般把连接数设置得大一些)。
    并发量:同一时刻数据库服务器处理的请求数量
  • 超高的CPU使用率:CPU资源耗尽出现宕机。
  • 磁盘IO:磁盘IO性能突然下降、大量消耗磁盘性能的计划任务。解决:更快磁盘设备、调整计划任务、做好磁盘维护。

1.3 网卡流量:如何避免无法连接数据库的情况

  • 减少从服务器的数量(从服务器会从主服务器复制日志)
  • 进行分级缓存(避免前端大量缓存失效)
  • 避免使用select * 进行查询
  • 分离业务网络和服务器网络

1.4 大表带来的问题(重要)

1.4.1 大表的特点

  • 记录行数巨大,单表超千万
  • 表数据文件巨大,超过10个G

1.4.2 大表的危害

1.慢查询:很难在短时间内过滤出需要的数据

查询字区分度低 -> 要在大数据量的表中筛选出来其中一部分数据会产生大量的磁盘io -> 降低磁盘效率

2.对DDL影响:

建立索引需要很长时间:

  • MySQL -v<5.5 建立索引会锁表
  • MySQL -v>=5.5 建立索引会造成主从延迟(mysql建立索引,先在组上执行,再在库上执行)

修改表结构需要长时间的锁表:会造成长时间的主从延迟('480秒延迟')

1.4.3 如何处理数据库上的大表

分库分表把一张大表分成多个小表

难点:

  • 分表主键的选择
  • 分表后跨分区数据的查询和统计

1.5 大事务带来的问题(重要)<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值