当前位置:主页 > 查看内容

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

发布时间:2021-07-23 00:00| 位朋友查看

简介:一、什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS: QueriesPerSecond意思是每秒查询率,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS: 是 TransactionsPerSe……

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

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

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

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

1.2 风险分析

QPS: QueriesPerSecond意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
TPS: 是 TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

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

  1. 效率低下的 sql:超高的 QPS与 TPS。
  2. 大量的并发:数据连接数被占满( max_connection默认 100,一般把连接数设置得大一些)。 并发量:同一时刻数据库服务器处理的请求数量
  3. 超高的 CPU使用率: CPU资源耗尽出现宕机。
  4. 磁盘 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. 分表主键的选择
  2. 分表后跨分区数据的查询和统计

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

1.5.1 什么是事务

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


本文转载自网络,原文链接:https://www.toutiao.com/a6661530626610430468/
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐