Mysql優化-Procedure_Analyse優化表結構

一。前言

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;

Mysql優化-Procedure_Analyse優化表結構

三。分析

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

br_Task.task_name字段,

列最小值:121 new

列最大值:韓-軟文-全國-銀牌見

最小長度:3字節

最大長度:52字節

平均長度:24.1852

優化建議:字段的數據類型改成VARCHAR(52) NOT NULL

一定要注意,這些只是建議,只有當你的表里的數據越來越多時,這些建議才會變得準確。一定要記住,你才是最終做決定的人。?

?以上就是Mysql優化-Procedure_Analyse優化表結構的內容,更多相關內容請關注PHP中文網(www.php.cn)!

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享