mysql对已存在表的优化建议
2015-10-20 13:26
477 查看
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的分析结果来对表结构做出一定的优化。以减少表
的尺寸
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的分析结果来对表结构做出一定的优化。以减少表
的尺寸
相关文章推荐
- Mysql:is not allowed to connect to this MySQL server
- mysql 查找重复的字段,并删除记录只保留一条
- 【转】21分钟mysql入门教程
- mysql捕获、分析和优化sql
- 关于mysql上万条数据同时插入时的性能优化
- LabVIEW访问MySQL数据库的一种简单方法
- MySQL锁定状态查看命令
- MySQL数据库MyISAM和InnoDB存储引擎的比较
- MySql 插入数据中文乱码
- MySQL查看表占用空间大小
- mysql分表的三种方法
- MYSQL数据库备份与恢复
- 源码编译安装 MySQL 5.5.x 实践
- windows 环境下 mysql,命令导入\导出表结构或数据
- mysql登录错误或者密码错误
- MySQL for Mac 安装和基本操作
- mysql日志介绍
- mysql 通过使用联全索引优化Group by查询
- MySQL快速命令
- mysql workbench建表时PK,NN,UQ,BIN,UN,ZF,AI