影响数据库查询速度的四个因素
风险分析
QPS(Queries Per Second):每秒查询率,是指一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
TPS(TransactionsPerSecond):事务数/秒,它是软件测试结果的测量单位。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
效率低下的SQL语句会带来超高的QPS与TPS:
- 大量的并发:数据连接数被占满(max_connection默认100,一般把连接数设置得大一些)。并发量:同一时刻数据库服务器处理的请求数量。
- 超高的CPU使用率:CPU资源耗尽会出现宕机。
- 磁盘IO性能下降:大量消耗磁盘性能的计划任务。解决:更换磁盘设备、调整计划任务、做好磁盘维护。
网卡流量
如何避免无法连接数据库的情况:
- 减少从服务器的数量(从服务器会从主服务器复制日志)
- 进行分级缓存(避免前端大量缓存失效)
- 避免使用select * 进行查询
- 分离业务网络和服务器网络
磁盘IO
大表中记录行数巨大,单表超千万,表数据文件巨大