现在的位置: 首页 > 综合 > 正文

mysql对已存在表的优化建议

2013年08月04日 ⁄ 综合 ⁄ 共 839字 ⁄ 字号 评论关闭

author:skate
time:2012/05/24

 

mysql对已经存在表分析,给出列的优化的数据类型,以便减少表的大小,如法语下:

SELECT ... FROM ... WHERE ... PROCEDURE ANALYSE([max_elements,[max_memory]])

 

说明:
max_elements:(默认值256) analyze查找每一列不同值时所关注的最大不同值的数量;analyze还用这个值来检查优化的数据类型是否该是ENUM,如果该列的不同值的数量超过 了 max_elements值,ENUM就不做为建议优化的数据类型。

max_memory:(默认值8192) analyze查找每一列所有不同值时可能分配的最大的内存数量

mysql> SELECT parent_id FROM child PROCEDURE ANALYSE(5,2000)\G
*************************** 1. row ***************************
             Field_name: test.child.parent_id
              Min_value: NULL
              Max_value: NULL
             Min_length: 0
             Max_length: 0
       Empties_or_zeros: 0
                  Nulls: 0
Avg_value_or_avg_length: 0.0
                    Std: 0.0
      Optimal_fieldtype: CHAR(0) NOT NULL       //这个是优化建议
1 row in set (0.00 sec)

 

这个分析方法可以在数据库生产环境运行一定时间以后,DBA能参考analyze的分析结果来对表结构做出一定的优化。以减少表
的尺寸

 

----------end----------

 

抱歉!评论已关闭.