varchar(20)和varchar(255)的空間開銷區別

  1. MySQL建立索引時如果沒有限制索引的大小,索引長度會默認採用的該字段的長度,也就是說varchar(20)和varchar(255)對應的索引長度分別爲203(utf-8)(+2+1),2553(utf-8)(+2+1),其中"+2"用來存儲長度信息,“+1”用來標記是否爲空,加載索引信息時用varchar(255)類型會佔用更多的內存; (備註:當字段定義爲非空的時候,是否爲空的標記將不佔用字節)

  2. 在內存中的操作方式,varchar是按照最長的方式在內存中進行操作的。比如說要進行排序的時候,varcahr(255)是按照255這個長度來進行的。

  3. MySQL通常會分配固定大小的內存塊來保存內部值,255比20可大不少呢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章