视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Mysql优化-Procedure_Analyse优化表结构
2020-11-09 09:10:03 责编:小采
文档


一。前言

PROCEDURE ANALYSE() ,在优化表结构时可以辅助参考分析语句。

利用此语句,MySQL 帮你去分析你的字段和其实际的数据,并会给你一些有用的建议。

【只有表中有实际的数据,这些建议才会变得有用,因为要做一些大的决定是需要有数据作为基础的。】

例如,如果你创建了一个 INT 字段作为你的主键,然而并没有太多的数据,那么,PROCEDURE ANALYSE()会建议你把这个字段的类型改成 MEDIUMINT 。或是你使用了一个 VARCHAR 字段,因为数据不多,你可能会得到一个让你把它改成 ENUM 的建议。这些建议,都是可能因为数据不够多,所以决策做得就不够准。

我们在设计表时有时候总会思考到底某个字段选用什么类型呢。跨过菜鸟级的phper会有相当的经验直接啪啪啪敲出来,其实我们在后期调优时也可以使用 procedure analyse();分析表结构看看mysql给我们的字段建议,综合实际情况调整一些字段的类型(这个已经很琐碎了,一般应用都到不了这么细,并且我们鉴于经验设计的数据库基本都能满足应用。

二。举例

procesure analyse(max_elements,max_memory)

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

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

mysql> select * from br_task procedure analyse(1,256) \G;


三。分析

以第4行的分析举例,可以看出,

br_Task.task_name字段,

列最小值:121 new

列最大值:韩-软文-全国-银牌见

最小长度:3字节

最大长度:52字节

平均长度:24.1852

优化建议:字段的数据类型改成VARCHAR(52) NOT NULL。

一定要注意,这些只是建议,只有当你的表里的数据越来越多时,这些建议才会变得准确。一定要记住,你才是最终做决定的人。

下载本文
显示全文
专题