麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

對比MySQL中int、char以及varchar的性能

2024-07-25 19:09:09
字體:
來源:轉載
供稿:網友

網絡上有許多似是而非的“謠言”,當然都不是惡意,絕大部分都是開發者不愿意自己主動研究,反而輕信其他人的信口之言。

關于數據庫的謠言也有不少,比如“int性能比char高很多”。

我最近針對int、long、char、varchar進行了一次性能測試,發現它們其實并沒有太大的性能差距:

備注:c8=char(8), s8=varchar(8), i8=(bigint), c4=char(4), s4=varchar(4), i4=char(4)

100w行無索引情況下查詢: 

執行[c8查詢]20次, 平均耗時312.0ms 
執行[s8查詢]20次, 平均耗時334.3ms 
執行[i8查詢]20次, 平均耗時276.95ms 
執行[c4查詢]20次, 平均耗時354.95ms 
執行[s4查詢]20次, 平均耗時340.45ms 
執行[i4查詢]20次, 平均耗時291.1ms

創建索引: 

c8索引耗時2439ms 
s8索引耗時2442ms 
i8索引耗時1645ms 
c4索引耗時2296ms 
s4索引耗時2303ms 
i4索引耗時1403ms

有索引情況下查詢: 

執行[c8查詢]10000次, 平均耗時0.271ms 
執行[s8查詢]10000次, 平均耗時0.2354ms 
執行[i8查詢]10000次, 平均耗時0.2189ms 
執行[c4查詢]10000次, 平均耗時0.303ms 
執行[s4查詢]10000次, 平均耗時0.3094ms 
執行[i4查詢]10000次, 平均耗時0.25ms

結論:

無索引:全表掃描不會因為數據較小就變快,而是整體速度相同,int/bigint作為原生類型稍快12%。

有索引:char與varchar性能差不多,int速度稍快18%

在數據存儲、讀寫方面,整數與等長字符串相同,varchar額外多了一個字節所以性能可能會些許影響(1/n)。

在數據運算、對比方面,整數得益于原生支持,因此會比字符串稍快一丁點。

若采用索引,所謂整數、字符串的性能差距更是微乎其微。

在實際開發中,許多開發者經常使用char(1)、char(4)這樣的字符串表示類型枚舉,這種做法在我看來屬于最佳方案,因為這種做法在存儲空間、運算性能、可讀性、可維護性、可擴展性方面,遠勝于int、enum這種數據類型。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本成人一区二区 | 久久久久久中文字幕 | 成人性视频欧美一区二区三区 | 爱操影视 | 国产精品一区在线看 | 黄色视频一级毛片 | 国产精品久久久久久久不卡 | 久久精品在线免费观看 | 久久精品伊人网 | 国产成人在线一区 | 日本高清视频网站www | 男女生羞羞视频网站在线观看 | 91精品国产91久久久久久吃药 | 国产精品久久久久久久久久久天堂 | 日韩精品久久久久久久电影99爱 | 欧美精品久久久久久久久久 | 欧美 国产 综合 | 狠狠干五月天 | 欧美一级一区二区三区 | 99久久婷婷国产综合精品青牛牛 | 2019中文字幕在线播放 | 欧美a黄| 中文字幕电影免费播放 | 一级黄色免费观看 | 精品国产一区二区久久 | 亚洲国产精品久久久久婷婷老年 | 国产精品a一 | 久久久久久久爱 | www.狠狠插.com | 欧美精品免费一区二区三区 | 精品国产乱码久久久久久久 | 欧美一区二区片 | 欧美一级黄色免费 | 亚洲精品3 | 一本色道精品久久一区二区三区 | 国产91丝袜在线播放 | 国产三级精品最新在线 | 久久久久久久久久久久久久av | 欧美国产一区二区三区 | h色在线观看 | 中文字幕欧美视频 |