当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL利用procedure analyse()函数优化表结构

MySQL利用procedure analyse()函数优化表结构

2017年12月12日  | 移动技术网IT编程  | 我要评论

简介

procedure analyse()函数是mysql内置的对mysql字段值进行统计分析后给出建议的字段类型。

语法

procesure analyse(max_elements,max_memory)

max_elements

指定每列非重复值的最大值,当超过这个值的时候,mysql不会推荐enum类型。

max_memory

analyse()为每列找出所有非重复值所采用的最大内存大小。

实战演练

# 对t1表所有的列进行分析
wing@3306>show create table t1;
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| table | create table                                                                      |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
| t1  | create table `t1` (
 `id` int(11) default null,
 `name` varchar(16) default null,
 `score` int(11) default null
) engine=innodb default charset=utf8 |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
wing@3306>select * from t1 procedure analyse(4);
+---------------+-----------+-----------+------------+------------+------------------+-------+-------------------------+-------------+--------------------------------+
| field_name  | min_value | max_value | min_length | max_length | empties_or_zeros | nulls | avg_value_or_avg_length | std     | optimal_fieldtype       |
+---------------+-----------+-----------+------------+------------+------------------+-------+-------------------------+-------------+--------------------------------+
| wing.t1.id  | 1     | 200000  |     1 |     6 |        0 |   0 | 100000.5000       | 116099.2790 | mediumint(6) unsigned not null |
| wing.t1.name | 000jxc6v | zzznmkcx |     8 |     8 |        0 |   0 | 8.0000         | null    | char(8) not null        |
| wing.t1.score | 1     | 100    |     1 |     3 |        0 |   0 | 50.4889         | 28.8768   | tinyint(3) unsigned not null  |
+---------------+-----------+-----------+------------+------------+------------------+-------+-------------------------+-------------+--------------------------------+
3 rows in set (0.14 sec)

总结

以上就是关于mysql中procedure analyse()函数的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网