我這有個業務,專門儲存LOG日誌的,每天都會有上千萬資料,所以採用了archive儲存引擎,這樣寫入上較快,也比較節省空間的。
archive儲存引擎這裡簡單介紹下:
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/2223124c4-0.jpg" title="arch.jpg" alt="171318173.jpg" />
這個可以說和MyISAM引擎差不多,備份的時候直接cp拷貝資料檔案,恢複時直接cp拷貝到MySQL資料目錄,而且在空間上節省了不少,下面來看看。
650) this.width=650;" src="http://img1.51cto.com/attachment/201311/171737478.jpg" title="1.jpg" alt="171737478.jpg" />
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/2223121104-2.jpg" title="2.jpg" alt="171925628.jpg" />
通過物理檔案,可以明顯的對比出來。
看看磁碟IO效能圖
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/222312B22-3.jpg" title="8.jpg" alt="181015247.jpg" />
壓力有所變小。
好,下面說一個注意事項。今天開發反饋一條很簡單的範圍查詢,結果耗時1分多鐘,我查看了下查詢欄位是主鍵,不應該這麼慢,
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/2223122542-4.jpg" title="3.jpg" alt="172223343.jpg" />
結果全表掃描了。會不會是archive特性決定的?於是轉換為MyISAM引擎,再試試:
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/222312OK-5.jpg" title="4.jpg" alt="172449827.jpg" />
很明顯的看出,MyISAM引擎在範圍搜尋時,是可以利用到索引的,而archive引擎會全表掃描。
如果是=,in,archive引擎均可以用到索引。
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/2223124116-6.jpg" style="float:none;" title="5.jpg" alt="174929950.jpg" />
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131229/2223125503-7.jpg" style="float:none;" title="6.jpg" alt="174929656.jpg" />
本文出自 “賀春暘的技術專欄” 部落格,請務必保留此出處http://hcymysql.blog.51cto.com/5223301/1333825