日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 优化 类型_MySQL数据类型的优化选择

發布時間:2024/9/27 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 优化 类型_MySQL数据类型的优化选择 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

整數類型:

Tinyint-8

Smallint-16

Mediumint-24

Int-32

Bigint-64

實數類型(帶有小數部分的數字)

Float-4/double-8:浮點

Decimal:精確(只是存儲格式,在計算中會轉為double類型)

浮點類型在存儲同樣范圍的值時,通常比decimal使用更少的空間。

字符串類型:

Varchar:可變長字符串(需要1-2個字節存儲字符串長度)

優點:比定長類型節約空間;

缺點:碎片問題。字符串update變長時,一個行的占用空間變長,但是在頁內沒有更多空間存儲,MYISAM將行拆成不同片段存儲,InnoDB分裂頁使行可以放進頁內;

適用:字符串最大長度比平均長度大很多;列的更新很少;

Char:定長字符串(MySQL會刪除所有末尾空格)

優點:不易產生碎片

適用:存儲密碼的MD5值;經常變更的數據;

大型數據類型:

Blob:二進制

Text:字符

特殊性:mysql將blob和text值當做一個獨立的對象處理,當值太大時,innodb在值內存儲一個指針,外部存儲區域存儲實際的值;mysql對blob和text的排序,只對每列的最前max_sort_length進行排序;mysql不能將列的全部長度字符串進行索引,也不能使用這些索引進行排序;

枚舉類型ENUM:

mysql在存儲枚舉類型時非常緊湊;

Mysql在內部會將每個值在列表中的位置保存為整數,并且在表的.frm文件中保存“數字-字符串”的映射關系的查找表;

缺點:字符串列表是固定的,添加或刪除字符串都需要alter table;

優點:可以縮小表的大小;主鍵減小后,innodb表的非主鍵索引也會變小;

關聯速度:enum列 關聯 enum列? >? varchar列 關聯 varchar列? >? enum列 關聯 varchar列

日期時間類型:

Datetime:8字節;與時區無關;保存大范圍的值,從1001年到9999年,精度為秒;

Timestamp(盡量使用):4字節;依賴于時區;保存1970.1.1以來的秒數;列默認為not null;

Timestamp的特殊性:如果插入數據時沒有指定第一個timestamp列的值,mysql則設置這個值為當前時間;

總結

以上是生活随笔為你收集整理的mysql 优化 类型_MySQL数据类型的优化选择的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。