一。前言
PROCEDURE ANALYSE() ,在最佳化表格結構時可以輔助參考分析語句。
利用此語句,MySQL 幫你分析你的欄位和實際的數據,並會給你一些有用的建議。
【只有表中有實際的數據,這些建議才會變得有用,因為要做一些大的決定是需要有數據作為基礎的。 】
例如,如果你創建了一個INT 字段作為你的主鍵,然而並沒有太多的數據,那麼,PROCEDURE ANALYSE()會建議你把這個字段的類型改成MEDIUMINT 。或者你使用了一個 VARCHAR 字段,因為資料不多,你可能會得到一個讓你把它改成 ENUM 的建議。這些建議,都是可能因為數據不夠多,所以決策做得就不夠準。
我們在設計表格時總是會思考到底某個欄位選用什麼型別呢。跨過菜鳥級的phper會有相當的經驗直接啪啪啪敲出來,其實我們在後期調優時也可以使用procedure analyse();分析表結構看看mysql給我們的字段建議,綜合實際情況調整一些字段的類型(這個已經很瑣碎了,一般應用都到不了這麼細,並且我們鑑於經驗設計的數據庫基本上都能滿足應用。
二。舉例
procesure analyse(max_elements,max_memory)
max_elements##:指定每列非重複值的最大值,超過這個值的時候,MySQL不會推薦enum型別。所採用的最大記憶體大小。
#三。 .task_name字段,列最小值:121 new
#列最大值:韓-軟文-全國-銀牌見
最小長度:3位元組
最大長度:52位元組
平均長度:24.1852
最佳化建議:
欄位的資料型別改為VARCHAR(52) NOT NULL。一定要注意,這些只是建議,只有當你的表裡的數據越來越多時,這些建議才會變得準確。
以上就是Mysql優化-Procedure_Analyse優化表結構的內容,更多相關內容請關注PHP中文網(www.php.cn)!