MySQL数据库对象的2个优化技巧:场景分析、3步使用详解!

发布时间:2025-05-21 20:42:41 作者:益华网络 来源:undefined 浏览量(2) 点赞(3)
摘要:(1)利用PROCEDURE ANALYSE()优化表的数据类型 1)场景分析 有时候,我们在定义表的字段类型,或者长度的时候,不确定应该给出多长,因而,导致实际操作中会将长度定义的有冗余,这样会造成浪费。而PROCEDURE ANALYSE()语句就是通过分析表的数据,给出优化建议。 2)具体使用步骤

(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优化专题】(持续发布中)

大家关注此号后,便可阅读以上系列文章! 

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!