用PROCEDURE ANALYSE最佳化MYSQL表結構

來源:互聯網
上載者:User
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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.