Home > Database > Mysql Tutorial > 使用procedure analyse()分析mysql_MySQL

使用procedure analyse()分析mysql_MySQL

WBOY
Release: 2016-05-30 17:11:03
Original
2274 people have browsed it

procedure analyse();语法如下

 

select column from table_name procedure analyse();

 

以下引用一段文章:

 

PROCEDURE ANALYSE 通过分析select查询结果对现有的表的每一列给出优化的建议。

PROCEDURE ANALYSE的语法如下:

 

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

 

max_elements (默认值256) analyze查找每一列不同值时所需关注的最大不同值的数量.

analyze还用这个值来检查优化的数据类型是否该是ENUM,如果该列的不同值的数量超过了

max_elements值ENUM就不做为建议优化的数据类型。

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

 

样例程序

------------------------------------------------------------------------------------
mysql> DESC user_account;
+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| USERID    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| USERNAME  | varchar(10)      | NO   |     | NULL    |                |
| PASSSWORD | varchar(30)      | NO   |     | NULL    |                |
| GROUPNAME | varchar(10)      | YES  |     | NULL    |                |
+-----------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

mysql> select * from user_account PROCEDURE ANALYSE(1)\G;
*************************** 1. row ***************************
             Field_name: ibatis.user_account.USERID
              Min_value: 1
              Max_value: 103
             Min_length: 1
             Max_length: 3
       Empties_or_zeros: 0
                  Nulls: 0
Avg_value_or_avg_length: 51.7500
                    Std: 50.2562
      Optimal_fieldtype: TINYINT(3) UNSIGNED NOT NULL
*************************** 2. row ***************************
             Field_name: ibatis.user_account.USERNAME
              Min_value: dfsa
              Max_value: LMEADORS
.........................................................
---------------------------------------------------------------------------------------
Copy after login

 

从第一行输出我们可以看到analyze分析ibatis.user_account.USERID列最小值1,最大值103,最小长度1,

最大长度3...,并给出了改字段的优化建议:建议将该字段的数据类型改成TINYINT(3) UNSIGNED NOT NULL。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template