电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

簡單了解MySQL存儲引擎

瀏覽:8日期:2023-10-14 08:43:28

1. MySql體系結構

在介紹存儲引擎之前先來介紹下MySql的體系結構,以便大家知道存儲引擎在MySql整個體系中處于什么位置。下圖是官方提供的一張架構圖:

簡單了解MySQL存儲引擎

MySQL體系結構圖

從上圖可以發現,MySQL由以下幾部分組成:

連接池組件 管理服務和工具組件 SQL接口組件 查詢分析器組件 優化器組件 緩沖(Cache)組件 插件式存儲引擎 物理文件

MySQL數據庫區別于其他數據庫的最重要的一個特點就是其插件式的表存儲引擎,從上圖中也可以看到,MySql支持很多種存儲引擎。需要特別注意的是,存儲引擎是基于表的,而不是數據庫。

2. MySql存儲引擎

插件式存儲引擎的好處是:能夠根據具體的應用的特點選擇不同的存儲引擎。下面是幾種MySQL常用的存儲引擎。

2.1 InnoDB存儲引擎

InnoDB存儲引擎支持事務,其設計目標主要面向在線事務處理(OLTP)的應用。其特點是行鎖設計、支持外鍵,并支持類似于Oracle的非鎖定讀,即默認讀取操作不會產生鎖。從MySQL數據庫5.5.8版本開始,InnoDB存儲引擎是默認的存儲引擎。

InnoDB通過使用多版本并發控制(MVCC)來獲得高并發性,并且實現了SQL標準的4種隔離級別,默認為REPEATABLE級別。同時,使用一種被稱為next-key locking的策略來避免幻讀(phantom)現象的產生。除此之外,InnoDB儲存引擎還提供了插入緩沖(insert buffer)、二次寫(double write)、自適應哈希索引(adaptive hash index)、預讀(read ahead)等高性能和高可用的功能。

對于表中數據的存儲,InnoDB存儲引擎采用了聚集(clustered)的方式,因此每張表的存儲都是按主鍵的順序進行存放。如果沒有顯式地在表定義時指定主鍵,InnoDB存儲引擎會為每一行生成一個6字節的ROWID,并以此作為主鍵。

2.2 MyISAM存儲引擎

MyISAM存儲引擎不支持事務、表鎖設計,支持全文索引,主要面向一些OLAP數據庫應用。此外,MyISAM存儲引擎的另一個與眾不同的地方是它的緩沖池只緩存(cache)索引文件,而不緩沖數據文件,這點和大多數的數據庫都非常不同。從MySQL 5.0版本開始,MyISAM默認支持256TB的單表數據,這足夠滿足一般應用需求。

2.3 Memory存儲引擎

Memory存儲引擎(之前稱HEAP存儲引擎)將表中的數據存放在內存中,如果數據庫重啟或發生崩潰,表中的數據都將消失。它非常適合用于存儲臨時數據的臨時表,以及數據倉庫中的緯度表。Memory存儲引擎默認使用哈希索引,而不是我們熟悉的B+樹索引。

雖然Memory存儲引擎速度非常快,但在使用上還是有一定的限制。比如,只支持表鎖,并發性能較差,并且不支持TEXT和BLOB列類型。最重要的是,存儲變長字段(varchar)時是按照定常字段(char)的方式進行的,因此會浪費內存。

此外有一點容易被忽視,MySQL數據庫使用Memory存儲引擎作為臨時表來存放查詢的中間結果集(intermediate result)。如果中間結果集大于Memory存儲引擎表的容量設置,又或者中間結果含有TEXT或BLOB列類型字段,則MySQL數據庫會把其轉換到MyISAM存儲引擎表而存放到磁盤中。之前提到MyISAM不緩存數據文件,因此這時產生的臨時表的性能對于查詢會有損失。

2.4 Archive存儲引擎

Archive存儲引擎只支持INSERT和SELECT操作,從MySQL 5.1開始支持索引。Archive存儲引擎使用zlib算法將數據行(row)進行壓縮后存儲,壓縮比一般可達1∶10。正如其名字所示,Archive存儲引擎非常適合存儲歸檔數據,如日志信息。Archive存儲引擎使用行鎖來實現高并發的插入操作,但是其本身并不是事務安全的存儲引擎,其設計目標主要是提供高速的插入和壓縮功能。

當然MySql還支持很多其他的存儲引擎,這邊不一一列舉了。

3. 存儲引擎對比整理

存儲引擎可以理解為表的存儲結構,每種存儲引擎都支持不同的特性。MySQL支持插件式的存儲引擎,可以為每張數據表指定不同的存儲引擎。常用的存儲引擎的特點整體如下:

簡單了解MySQL存儲引擎

我們也可以使用下面命令查看當前數據庫支持哪些存儲引擎:

-- 查看支持的存儲引擎show engines;

下面對最常用的三種存儲引擎做下簡單總結介紹:

InnoDB:MySQL默認的存儲引擎,支持事務、支持行級鎖和表級鎖、支持各類索引、支持外鍵,高版本的MySQL還支持全文索引,但是批量數據插入的效率較低; MyISAM:具有較高的數據插入效率和數據查詢速度,支持全文索引,但是不支持數據庫事務,不支持行級鎖,只支持表級鎖; MEMORY:使用這個存儲引擎時,會將表中的數據加載到內存中,查詢很快,但是對內存要求較高。

所以我們應該根據應用的具體需求選擇合適的存儲引擎,而不是不加思考的都選擇默認存儲引擎(INNODB)。

如果要提供提交、回滾和恢復的事務安全(ACID兼容)能力,并要求實現并發控制,InnoDB是一個很好的選擇。如果數據表主要用來插入和查詢記錄,則MyISAM引擎提供較高的處理效率。如果只是臨時存放數據,數據量不大,并且不需要較高的數據安全性,可以選擇將數據保存在內存的MEMORY引擎中,MySQL中使用該引擎作為臨時表,存放查詢的中間結果。如果只有INSERT和SELECT操作,可以選擇Archive引擎,Archive存儲引擎支持高并發的插入操作,但是本身并不是事務安全的。Archive存儲引擎非常適合存儲歸檔數據,如記錄日志信息可以使用Archive引擎。

4. 參考

《MySQL技術內幕》

以上就是簡單了解MySQL存儲引擎的詳細內容,更多關于MySQL存儲引擎的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 长信科技产业园官网_西安厂房_陕西标准工业厂房 | 台式恒温摇床价格_大容量恒温摇床厂家-上海量壹科学仪器有限公司 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 万家财经_财经新闻_在线财经资讯网 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 全国国际化学校_国际高中招生_一站式升学择校服务-国际学校网 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 江西自考网-江西自学考试网| 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 模温机-油温机-电加热导热油炉-工业冷水机「欧诺智能」 | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 宠物店加盟_宠物连锁店_开宠物店-【派多格宠物】 | 上海阳光泵业制造有限公司 -【官方网站】 | 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 天津暖气片厂家_钢制散热器_天津铜铝复合暖气片_维尼罗散热器 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 房屋质量检测-厂房抗震鉴定-玻璃幕墙检测-房屋安全鉴定机构 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 天津散热器_天津暖气片_天津安尼威尔散热器制造有限公司 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 在线悬浮物浓度计-多参数水质在线检测仪-上海沃懋仪表科技有限公司 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 中空玻璃生产线,玻璃加工设备,全自动封胶线,铝条折弯机,双组份打胶机,丁基胶/卧式/立式全自动涂布机,玻璃设备-山东昌盛数控设备有限公司 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 |