MySQL數據庫對象的2個優化技巧:場景分析、3步使用詳解!
(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優化專題】(持續發布中)
大家關注此號后,便可閱讀以上系列文章!