zoukankan      html  css  js  c++  java
  • 用PROCEDURE ANALYSE优化MYSQL表结构

    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
    .........................................................
    ---------------------------------------------------------------------------------------
    从第一行输出我们可以看到analyze分析ibatis.user_account.USERID列最小值1,最大值103,最小长度1,
    最大长度3...,并给出了改字段的优化建议:建议将该字段的数据类型改成TINYINT(3) UNSIGNED NOT NULL。
    http://www.baobaoke.com/space.php?uid=179&do=blog&id=33484
  • 相关阅读:
    php模式设计之 工厂模式
    SDK以及部署的SDK的思路
    手机用fiddler抓包开发测试
    搭建GIT服务端
    TP5.0以上数据库增加数据异常
    lnmp一键安装后的配置改动建议
    TPshop5最新版 安装 nginx 开启PATHINFO 模式资源加载路径加载失败问题,适用tp3.2PATHINFO模式REWRITE模式
    jquery写拉动条
    JS(JQ)分页 个人查看,没注释
    ecshop 分页
  • 原文地址:https://www.cnblogs.com/liulei/p/1749757.html
Copyright © 2011-2022 走看看