欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫三種常用存儲引擎特性對比

 更新時間:2016年01月06日 11:33:04   投稿:hebedich  
MySQL中的數(shù)據(jù)用各種不同的技術(shù)存儲在文件(或內(nèi)存)中,這些技術(shù)中的每一種技術(shù)都使用不同的存儲機(jī)制,索引技巧,鎖定水平并且最終提供廣泛的不同功能和能力。在MySQL中將這些不同的技術(shù)及配套的相關(guān)功能稱為存儲引擎。

MySQL 的存儲引擎可能是所有關(guān)系型數(shù)據(jù)庫產(chǎn)品中最具有特色的了,不僅可以同時使用多種存儲引擎,而且每種存儲引擎和MySQL之間使用插件方式這種非常松的耦合關(guān)系。

由于各存儲引擎功能特性差異較大,這篇文章主要是介紹如何來選擇合適的存儲引擎來應(yīng)對不同的業(yè)務(wù)場景。

MyISAM

特性
不支持事務(wù):MyISAM存儲引擎不支持事務(wù),所以對事務(wù)有要求的業(yè)務(wù)場景不能使用
表級鎖定:其鎖定機(jī)制是表級索引,這雖然可以讓鎖定的實(shí)現(xiàn)成本很小但是也同時大大降低了其并發(fā)性能
讀寫互相阻塞:不僅會在寫入的時候阻塞讀取,MyISAM還會在讀取的時候阻塞寫入,但讀本身并不會阻塞另外的讀
只會緩存索引:MyISAM可以通過key_buffer緩存以大大提高訪問性能減少磁盤IO,但是這個緩存區(qū)只會緩存索引,而不會緩存數(shù)據(jù)

適用場景
不需要事務(wù)支持(不支持)
并發(fā)相對較低(鎖定機(jī)制問題)
數(shù)據(jù)修改相對較少(阻塞問題)
以讀為主
數(shù)據(jù)一致性要求不是非常高

最佳實(shí)踐
盡量索引(緩存機(jī)制)
調(diào)整讀寫優(yōu)先級,根據(jù)實(shí)際需求確保重要操作更優(yōu)先
啟用延遲插入改善大批量寫入性能
盡量順序操作讓insert數(shù)據(jù)都寫入到尾部,減少阻塞
分解大的操作,降低單個操作的阻塞時間
降低并發(fā)數(shù),某些高并發(fā)場景通過應(yīng)用來進(jìn)行排隊(duì)機(jī)制
對于相對靜態(tài)的數(shù)據(jù),充分利用Query Cache可以極大的提高訪問效率
MyISAM的Count只有在全表掃描的時候特別高效,帶有其他條件的count都需要進(jìn)行實(shí)際的數(shù)據(jù)訪問

InnoDB

特性
具有較好的事務(wù)支持:支持4個事務(wù)隔離級別,支持多版本讀
行級鎖定:通過索引實(shí)現(xiàn),全表掃描仍然會是表鎖,注意間隙鎖的影響
讀寫阻塞與事務(wù)隔離級別相關(guān)
具有非常高效的緩存特性:能緩存索引,也能緩存數(shù)據(jù)
整個表和主鍵以Cluster方式存儲,組成一顆平衡樹
所有Secondary Index都會保存主鍵信息

適用場景
需要事務(wù)支持(具有較好的事務(wù)特性)
行級鎖定對高并發(fā)有很好的適應(yīng)能力,但需要確保查詢是通過索引完成
數(shù)據(jù)更新較為頻繁的場景
數(shù)據(jù)一致性要求較高
硬件設(shè)備內(nèi)存較大,可以利用InnoDB較好的緩存能力來提高內(nèi)存利用率,盡可能減少磁盤 IO

最佳實(shí)踐
主鍵盡可能小,避免給Secondary index帶來過大的空間負(fù)擔(dān)
避免全表掃描,因?yàn)闀褂帽礞i
盡可能緩存所有的索引和數(shù)據(jù),提高響應(yīng)速度
在大批量小插入的時候,盡量自己控制事務(wù)而不要使用autocommit自動提交
合理設(shè)置innodb_flush_log_at_trx_commit參數(shù)值,不要過度追求安全性
避免主鍵更新,因?yàn)檫@會帶來大量的數(shù)據(jù)移動

NDBCluster

特性
分布式:分布式存儲引擎,可以由多個NDBCluster存儲引擎組成集群分別存放整體數(shù)據(jù)的一部分
支持事務(wù):和Innodb一樣,支持事務(wù)
可與mysqld不在一臺主機(jī):可以和mysqld分開存在于獨(dú)立的主機(jī)上,然后通過網(wǎng)絡(luò)和mysqld通信交互
內(nèi)存需求量巨大:新版本索引以及被索引的數(shù)據(jù)必須存放在內(nèi)存中,老版本所有數(shù)據(jù)和索引必須存在與內(nèi)存中

適用場景
具有非常高的并發(fā)需求
對單個請求的響應(yīng)并不是非常的critical
查詢簡單,過濾條件較為固定,每次請求數(shù)據(jù)量較少,又不希望自己進(jìn)行水平Sharding

最佳實(shí)踐
盡可能讓查詢簡單,避免數(shù)據(jù)的跨節(jié)點(diǎn)傳輸
盡可能滿足SQL節(jié)點(diǎn)的計(jì)算性能,大一點(diǎn)的集群SQL節(jié)點(diǎn)會明顯多余Data節(jié)點(diǎn)
在各節(jié)點(diǎn)之間盡可能使用萬兆網(wǎng)絡(luò)環(huán)境互聯(lián),以減少數(shù)據(jù)在網(wǎng)絡(luò)層傳輸過程中的延時

注:以上三個存儲引擎是目前相對主流的存儲引擎,還有其他類似如:Memory,Merge,CSV,Archive等存儲引擎的使用場景都相對較少,這里就不一一分析了。

相關(guān)文章

  • MySQL中字符串索引對update的影響分析

    MySQL中字符串索引對update的影響分析

    這篇文章主要介紹了MySQL中字符串索引對update的影響,結(jié)合實(shí)例形式分析了添加索引操作對于update語句的性能所造成的影響,需要的朋友可以參考下
    2016-04-04
  • MySQL 8.0.13設(shè)置日期為0000-00-00 00:00:00時出現(xiàn)的問題解決

    MySQL 8.0.13設(shè)置日期為0000-00-00 00:00:00時出現(xiàn)的問題解決

    這篇文章主要介紹了MySQL 8.0.13設(shè)置日期為0000-00-00 00:00:00時出現(xiàn)的問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 快速修復(fù)損壞的MySQL數(shù)據(jù)庫

    快速修復(fù)損壞的MySQL數(shù)據(jù)庫

    在長時間使用 MySQL 后,數(shù)據(jù)庫可能會出現(xiàn)一些問題。大多數(shù)問題可以通過簡單的操作進(jìn)行快速修復(fù)。下面介紹兩種快速檢修 MySQL 數(shù)據(jù)庫的方法。
    2011-06-06
  • MySQL中ONLY_FULL_GROUP_BY模式的使用

    MySQL中ONLY_FULL_GROUP_BY模式的使用

    ONLY_FULL_GROUP_BY是MySQL中一個重要的SQL模式,確保在使用GROUP BY時,所有非聚合函數(shù)列必須在GROUP BY子句中出現(xiàn),避免數(shù)據(jù)歧義和不確定性,下面就來介紹一下具體使用
    2024-09-09
  • MySQL修改密碼的幾種方式

    MySQL修改密碼的幾種方式

    這篇文章主要介紹了MySQL修改密碼的幾種方式,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-12-12
  • mysql 8.0.12 簡單安裝教程

    mysql 8.0.12 簡單安裝教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.12 簡單安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • mysql 添加索引的實(shí)現(xiàn)步驟

    mysql 添加索引的實(shí)現(xiàn)步驟

    索引是一種用于提高查詢效率的數(shù)據(jù)結(jié)構(gòu),通過添加索引,可以加快數(shù)據(jù)的查找速度,本文主要介紹了mysql 添加索引的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • mysql中使用sphinx搜索子域名需注意的問題

    mysql中使用sphinx搜索子域名需注意的問題

    比如搜索jb51.net會把www.dbjr.com.cn、jb51.net、sc.jb51.net等都搜索出來
    2013-02-02
  • mysql 索引詳細(xì)介紹

    mysql 索引詳細(xì)介紹

    這篇文章主要介紹了mysql 索引詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • linux mint 下mysql中文支持問題

    linux mint 下mysql中文支持問題

    這篇文章主要介紹了linux mint 下mysql中文支持問題的相關(guān)資料,需要的朋友可以參考下
    2015-10-10

最新評論