(1)利用PROCEDURE ANALYSE()优化表的数据类型
1)场景分析
有时候,我们在定义表的字段类型,或者长度的时候,不确定应该给出多长,因而,导致实际操作中会将长度定义的有冗余,这样会造成浪费。而PROCEDURE ANALYSE()语句就是通过分析表的数据,给出优化建议。
2)具体使用步骤
***步:执行如下命令:
- select * from `person` PROCEDURE ANALYSE();
第二步:结果展示为:
第三步:分析结果
比如第二行的结果可以看出:personnameMax_length为22.但是此表开始设置时是45,这样可以针对此字段的长度进行优化
第四步:利用alert 对表进行优化。
- alter table person modify personname varchar(30);
(2)利用中间表提高统计查询的效率
1)场景分析
如果我们有一张关于客户的表,数据量非常大***别,而且是在线上运行的数据库实例中的表。此时我们需要进行统计查询,如果直接查询不但会对线上的表造成负面影响,而且效率不太高
2)利用中间表解决的办法
***步:建立一张表结构跟目标表一样的临时表,这里以person表举例,建立临时表如下:
- create table temp_person(
- id int(11),
- personname varchar(45),
- age int(11),
- sex int(1)
- );
第二步:将要查询的数据转移到中间表中
- insert into temp_person select * from person where sex = 1;
第三步:基于中间表进行查询
- select sum(age) from person;
此号已发布80多篇,多个专题的技术文章,如:
【Java专题】、【Spring专题】
【Servlet专题】、【并发编程专题】
【Redis专题】、【BATJ面试题解析】
【Dubbo专题】、【Mybatis专题】
【Mysql优化专题】(持续发布中)
大家关注此号后,便可阅读以上系列文章!