1. 程式人生 > 實用技巧 >MySQL 優化表資料型別

MySQL 優化表資料型別

表需要使用何種資料型別是需要根據應用來判斷的。雖然應用設計的時候需要考慮欄位的長度留有一定的冗餘,但是不推薦讓很多欄位都留有大量的冗餘,這樣既浪費磁碟儲存空間,同時在應用程式操作時也浪費實體記憶體。

在MySQL中,可以使用函式PROCEDURE ANALYSE()對當前應用的表進行分析,該函式可以對資料表中列的資料型別提出優化建議,使用者可以根據應用的實際情況酌情考慮是否實施優化。以下是函式PROCEDURE ANALYSE()的使用方法:

SELECT * FROM tbl_name PROCEDURE ANALYSE();

SELECT * FROM tbl_name PROCEDURE
ANALYSE(16,256);

輸出的每一列資訊都會對資料表中的列的資料型別提出優化建議。以上第二個語句告訴PROCEDUREANALYSE()不要為那些包含的值多於16個或者256個位元組的ENUM型別提出建議。如果沒有這樣的限制,輸出資訊可能很長;ENUM定義通常很難閱讀。

根據PROCEDURE ANALYSE()函式的輸出資訊,使用者可能會發現,一些表中的欄位可以修改為效率更高的資料型別。如果決定改變某個欄位的型別,則需要使用ALTER TABLE語句。