什麼時候可以考慮使用MySQL MEMORY引擎
通常使用MEMORY涉及到以下特性:
1.操作相關的短暫的,非重要資料的管理或者cache,當MySQL程式夯住或服務重啟,MEMORY表的資料就會丟失。
2.記憶體儲存訪問快速,並且延遲低。資料可以填充到記憶體不會導致作業系統swap到虛擬記憶體。
3.只讀或者讀多的資料訪問模式。
MySQL Cluster提供和MEMORY相似的功能來提高效能,但提供MEMORY不支援的額外的特性,例如:
1.行級鎖並且多執行緒操作,client降低爭用。
2.可擴充套件性
3.資料永續性的後臺操作
4.shared-nothing的結構,多host操作不會有單點錯誤。
5.自動資料分佈,應用程式不需要參與使用者sharding或者分割槽解決方案。
6.支援可變長欄位,MEMORY不支援。
如果MEMORY表hash索引的列包含在很多索引中,date表欄位的值會影響效能。效能影響和被幾個索引引用有關。你可以使用b樹索引來避免問題。
MEMORY表可以是非唯一的key。
索引列的值可以是null
MEMORY表的物理特性:
MEMORY儲存引擎都有個相關的磁碟檔案,用來儲存表定義。表名.frm。
MEMORY表有以下幾個特性:
1.MEMORY表使用小的block,表使用動態hash儲存,沒有額外的key空間。刪除行把空間放到一個連結串列。當你插入的時候會重新使用。MEMORY表在插入和刪除混合沒有什麼問題。
2.記憶體表固定長度。可變長度型別比如varchar也以固定長度儲存。
3.記憶體表不能包含BLOB,TEXT列
4.MEMORY支援AUTO_INCREMENT列
5.沒有臨時記憶體表可以被所有客戶端共享,可其他臨時表一樣。
1.操作相關的短暫的,非重要資料的管理或者cache,當MySQL程式夯住或服務重啟,MEMORY表的資料就會丟失。
2.記憶體儲存訪問快速,並且延遲低。資料可以填充到記憶體不會導致作業系統swap到虛擬記憶體。
3.只讀或者讀多的資料訪問模式。
MySQL Cluster提供和MEMORY相似的功能來提高效能,但提供MEMORY不支援的額外的特性,例如:
1.行級鎖並且多執行緒操作,client降低爭用。
2.可擴充套件性
3.資料永續性的後臺操作
4.shared-nothing的結構,多host操作不會有單點錯誤。
5.自動資料分佈,應用程式不需要參與使用者sharding或者分割槽解決方案。
6.支援可變長欄位,MEMORY不支援。
如果MEMORY表hash索引的列包含在很多索引中,date表欄位的值會影響效能。效能影響和被幾個索引引用有關。你可以使用b樹索引來避免問題。
MEMORY表可以是非唯一的key。
索引列的值可以是null
MEMORY表的物理特性:
MEMORY儲存引擎都有個相關的磁碟檔案,用來儲存表定義。表名.frm。
MEMORY表有以下幾個特性:
1.MEMORY表使用小的block,表使用動態hash儲存,沒有額外的key空間。刪除行把空間放到一個連結串列。當你插入的時候會重新使用。MEMORY表在插入和刪除混合沒有什麼問題。
2.記憶體表固定長度。可變長度型別比如varchar也以固定長度儲存。
3.記憶體表不能包含BLOB,TEXT列
4.MEMORY支援AUTO_INCREMENT列
5.沒有臨時記憶體表可以被所有客戶端共享,可其他臨時表一樣。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2135446/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼時候考慮使用無程式碼開發平臺
- MongoDB複製集什麼時候考慮使用Shared Cluster?MongoDB
- 程式設計師該考慮什麼時候辭職?程式設計師
- 程式設計師什麼時候該考慮辭職程式設計師
- MySQL什麼時候會使用內部臨時表?MySql
- 無程式碼開發如何實現?什麼時候考慮使用無程式碼開發平臺
- 遊戲策劃設計系統時,除了考慮設計目的,還需要考慮什麼?遊戲
- 到底什麼時候使用mqMQ
- MongoDB何時考慮使用分片MongoDB
- 什麼時候使用z-index?Index
- 什麼時候使用 Lambda 函式?函式
- 在你重新設計網頁的時候考慮好使用者體驗網頁
- TRIZ課堂—什麼時候可以用分割原理?
- 什麼是介面?為什麼使用介面? 什麼時候使用介面?(轉)
- mysql什麼時候會發生file sortMySql
- MySQL MEMORY儲存引擎MySql儲存引擎
- 作為技術面試官,我在面試時考慮什麼?面試
- C++中什麼時候用move,什麼時候用forward?C++Forward
- 你的專案剛剛啟動?是時候考慮Globalization了!
- 在Driver中呼叫I/O API的時候你考慮到了嗎API
- 舉例說明你什麼時候會用抽象類,什麼時候更願意使用介面?抽象
- 什麼時候釋出
- 什麼時候呼叫layoutSubviewsView
- 2、遇到多個構造引數的時候需要考慮使用構建器(effective java)Java
- 當遇到css佈局,你在考慮什麼?CSS
- 什麼是RockyLinux,你應該考慮嗎?Linux
- 【Mysql 學習】memory儲存引擎MySql儲存引擎
- 4 張動圖解釋為什麼(什麼時候)使用 Redux圖解Redux
- python中什麼時候使用自定義類Python
- 天行健課堂 | 什麼時候使用SWOT分析?
- 什麼時候你不應該使用微服務微服務
- T-SQL什麼時候該使用分號SQL
- 什麼時候採用socket通訊,什麼時候採用http通訊HTTP
- MySQL什麼時候輪換二進位制日誌MySql
- 新版什麼時候釋出?
- 什麼時候該用vuex?Vue
- 什麼時候該用MongoDB?MongoDB
- 產品經理,你為什麼要考慮使用者場景?