mysql-性能优化(sql执行计划explain)

影响mysql性能的因素

1、商业需求对性能的影响  就是有时候可以去避免的,但是在设计的时候没有考虑到。:统计发帖子总量,要求实时更新

 可以隔一段时间 更新一次,不实时更新,这样性能提升很多。

2、存放图片和视频放到数据库中去还是放到磁盘上去?

正常如在orcle数据库中可以设置个大数据类型 就是block类型Orcle数据中表存放数据没限制受制硬盘空间大小。

 

3、是否开启cache:如果数据更新的很频繁,开启cache意义就不大了。

 做性能测试 个预热测试应该考虑缓存,做性能测试之前先跑一段时间,做个预热,目的就是为了把磁盘中的缓存尽可能加满。

 

 4、的设计、硬件(磁盘io 会对性能造成影响。

 

5、锁  锁就会有阻塞。  任何数据库都有锁

 死锁发生的时候数据库会自动去处理掉的。他会记录下来

 6、mysql数据库query的优化

 

开发同步给出sql的执行计划,就是自测的时候给出

查询,如规定超过1s的都属于慢查询。

Sql非常容易出现问题

多索引如果索引只要插入一条数据,索引就要重新来  所以建了索引会影响增删改的性能Where 后面跟的字段,一般会建索引

 explan入手:这是一个执行计划的命令

连上MySQL分析这个sql的执行计划,如下图explain select * from t1;

可以下面这样,让他立着显示。就是一个执行计划

 

下面做一件事,建两表,分别插入记录,通过id号做一下关联。然后看下他的执行计划。

 进入mysql 

create database db01;

drop database db01;

 

发现一个sql有问题的时候,可以定一个优化目标,比如消耗资源多少可接受范围之内等,目标定完后,就可以入手去分析了。比如说,从Explain入手

 

ID越大越先被执行到

 

posted on 2021-10-28 13:49  FanF  阅读(100)  评论(0)    收藏  举报

导航