mysql優化之選擇資料型別

2021-06-09 05:13:47 字數 919 閱讀 3300

對資料型別的選擇,可以影響索引的使用,進而影響效能,本博文簡單的說明如何在使用中,選擇資料型別,以幫助查詢過程中,查詢命令能夠更加快速的執行。

應該盡可能多的使用數值操作,而不是字串操作。

這個好像是顯而易見的,在字串的儲存和比較過程,需要多個位元組的參與。

如果」小「型別夠用,就不要選用」大「型別。

資料小,儲存的時候可以使得資料表整體比較小,從而減少在磁碟讀寫方面的開銷,另外如果有索引,較小的型別也是比較受索引歡迎的。

盡可能選擇資料行的儲存格式以適應儲存引擎的格式。這個沒得說,各種引擎有各自的資料儲存方式,比如在選擇varchar和char的時候,除了考慮資料本身是固定長度的還是可變長度的之外,還應該考慮各自的性質,如固定長度的處理速度快,雖然不節省空間。varchar雖然節省空間,但處理速度不如char,並且容易導致儲存碎片。

盡可能的把資料宣告為not null.p。這樣一方面可以更快的完成對資料列的處理,另一方面我們也不用總是簡單值是否為空。

考慮使用enum資料列。如果字串資料列的不同取值的個數是有限的,就應該把它轉換為enum資料列,這種型別資料列在mysql內部被表示為一系列數值,所以對它的處理速度很快。

對容易產生碎片的資料表進行整理。定期使用 optimize table語句有助於防止資料表查詢效能的降低,該語句可以用來清理myisam資料表裡的碎片,對於其它引擎的碎片整理,可以先轉換成這種引擎格式。

把資料壓縮到blob或者text資料列裡。在可能在頻率的刪除或者更新操作時,產生大量的記憶體碎片,所以也需要定期的使用optimize table。

盡量避免對很大的blob或text值進行檢索

使用人造索引

把blob或text資料列剝離到單獨乙個資料表裡。如果這個時候,能夠使得原表得到乙個固定長度,就更好。一方面減少原始資料表裡的記憶體碎片,另一方面,在原始資料表查詢時,不會把大量的資料通過網路傳輸。

MySQL資料型別 選擇與優化

mysql資料型別 數值 日期 時間 字串 字元 型別 復合型別。一般情況下選擇可以正確儲存資料的最小資料型別。越小的資料型別通常更快,占用磁碟,記憶體和cpu快取更小,大大減少io開銷。簡單的資料型別的操作通常需要更少的cpu週期。例如 整型比字元操作代價要小得多,因為字符集和校對規則 排序規則 ...

MySQL資料型別 資料型別選擇

在mysq中建立表時,需要考慮為字段選擇哪種資料型別是最合適的。選擇合適的資料型別,會提高資料庫的效率。整數型別和浮點數型別最大的區別在於能否表達小數。整數型別不能表示小數,而浮點數型別可以表示小數。不同的整數型別的取值範圍不同。tinyint型別的取值範圍是0 255。如果欄位的最大值不超過255...

MySQL優化之 資料型別寬度

mysql中的整數型資料型別都可以指定顯示寬度 建立乙個表 create table tb emp id bigint 1 id欄位的資料型別為bigint 1 注意到後面的數字1,這表示的是該資料型別指定的顯示寬度,指定能夠顯示的數值中數字的個數。例如,假設宣告乙個int型別的字段 year in...