生活随笔
收集整理的這篇文章主要介紹了
mysql数据类型优化
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
定義合適的數(shù)據(jù)類型對Mysql性能提升非常重要
IPV4地址的存儲:IPV4地址,例如:127.0.0.1 ?= ?10000000 00000000 00000000 00000001,實際上是一個32位的無符號整數(shù),用小數(shù)點分隔開方便閱讀,并不是字符串,所以存儲時,應該使用unsigned int來存儲。顯示的時候用INET_ATON來轉(zhuǎn)換成ip格式,更新或插入時使用INET_NTOA轉(zhuǎn)換成整數(shù)插入。時間的存儲:很多人喜歡用INT來存儲時間,實際上,這并不能帶來任何性能上的提交;使用內(nèi)置的DATETIME和TIMESTAMP更方便,因為Mysql內(nèi)置的很多時間函數(shù)可以對時間進行處理。一般情況下,我們都盡量使用TIMESTAMP來存儲時間,因為它只占用4個字節(jié),而DATETIME占用8個字節(jié),TIMESTAMP時間到2038年,足夠用了。關(guān)于時間的比較應該使用整數(shù)的比較方式,例如下面兩個SQL的執(zhí)行效率,對于千萬行的數(shù)據(jù)處理差距是巨大的。 -- 取前一天的數(shù)據(jù)
-- 高效的執(zhí)行
SELECT *
FROMroom_match.view_shouji
wherewritetime between
now() - INTERVAL 1 day
and now();-- 低效的比較
SELECT *
FROMroom_match.view_shouji
where date(writetime) = "2013-12-15" ?
對確定類型的列使用ENUM,ENUM是表面顯示為字符串,實際存儲為整數(shù)的類型,使用 enum列名+0可以查看存儲的整數(shù)值。使用性別,國家等固定的值可以使用。?
?
?
轉(zhuǎn)載于:https://my.oschina.net/ifeixiang/blog/339516
總結(jié)
以上是生活随笔為你收集整理的mysql数据类型优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。