- 問題描述:
兩個表的僅有以一個字段屬性不同,一個為char另外一個為varchar,(長度設定是40,同時插入相同長度內容)試問再大數據量下,哪個表的查詢效率高(在不建立索引的情況下);
- 原來的理解:
原來的理解是,char的效率更高,這個理解是基於char是固定長度,空間分配好查詢速度就快(這個后面就尷尬咯)
- 實際測試:
表結構如下
寫了一個定時任務批量插入數據。。。。
后來插入到240w,寫個定時任務跑爽爽的
在50w數據量下測試的結果:
到240w后的差距就更明顯。
在沒有索引的情況下,mysql查詢走的是主鍵創建的索引,通過主鍵查詢,數據量大效率的瓶頸是磁盤的io,
當數據量大的時候,char是固定長度,占用的磁盤空間較大,查詢效率就降低;
在不同的場景下,瓶頸是不同的;
相關鏈接:varchar與char查詢速度的比較
=======================================
Deadline:2019.3.10
Title:spring bean的初始化,@bean注入的小問題
Reward:攢足三次購買東芝移動硬盤1T(1次)