日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL 数据库 引擎

發(fā)布時間:2025/5/22 数据库 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL 数据库 引擎 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

??? MySQL數(shù) 據(jù)庫引擎取決于MySQL在安裝的時候是如何被編譯的。要添加一個新的引擎,就必須重新編譯MYSQL。在缺省情況下,MYSQL支持三個引 擎:ISAM、MYISAM和HEAP。另外兩種類型INNODB和BERKLEY(BDB),也常常可以使用。如果技術(shù)高超,還可以使用MySQL++ API自己做一個引擎。下面介紹幾種數(shù)據(jù)庫引擎:

??? ISAM:ISAM是一個定義明確且歷經(jīng)時間考驗的數(shù)據(jù)表格管理方法,它在設(shè)計之時就考慮到 數(shù)據(jù)庫被查詢的次數(shù)要遠大于更新的次數(shù)。因此,ISAM執(zhí)行讀取操作的速度很快,而且不占用大量的內(nèi)存和存儲資源。ISAM的兩個主要不足之處在于,它不 支持事務處理,也不能夠容錯:如果你的硬盤崩潰了,那么數(shù)據(jù)文件就無法恢復了。如果你正在把ISAM用在關(guān)鍵任務應用程序里,那就必須經(jīng)常備份你所有的實 時數(shù)據(jù),通過其復制特性,MYSQL能夠支持這樣的備份應用程序。

??? MyISAM:MyISAM是MySQL的ISAM擴展格式和缺省的數(shù)據(jù)庫引擎。除了提供ISAM里所沒有的索引和字段管理的大量功能,MyISAM還使用一種表格鎖定的機制,來優(yōu)化多個并發(fā)的讀寫操作,其代價是你需要經(jīng)常運行OPTIMIZE TABLE命令,來恢復被更新機制所浪費的空間。MyISAM還有一些有用的擴展,例如用來修復數(shù)據(jù)庫文件的MyISAMCHK工具和用來恢復浪費空間的 MyISAMPACK工具。MYISAM強調(diào)了快速讀取操作,這可能就是為什么MySQL受到了WEB開發(fā)如此青睞的主要原因:在WEB開發(fā)中你所進行的大量數(shù)據(jù)操作都是讀取操作。所以,大多數(shù)虛擬主機提供商和INTERNET平臺提供商只允許使用MYISAM格式。MyISAM格式的一個重要缺陷就是不能在表損壞后恢復數(shù)據(jù)。

??? HEAPHEAP允許只駐留在內(nèi)存里的臨時表格。駐留在內(nèi)存里讓HEAP要比ISAM和MYISAM都快,但是它所管理的數(shù)據(jù)是不穩(wěn)定的,而且如果在關(guān)機之前沒有進行保存,那么所有的數(shù)據(jù)都會丟失。在數(shù)據(jù)行被刪除的時候,HEAP也不會浪費大量的空間。HEAP表格在你需要使用SELECT表達式來選擇和操控數(shù)據(jù)的時候非常有用。要記住,在用完表格之后就刪除表格。

??? InnoDB:InnoDB數(shù)據(jù)庫引擎都是造就MySQL靈活性的技術(shù)的直接產(chǎn)品,這項技術(shù)就是MYSQL++ API。在 使用MYSQL的時候,你所面對的每一個挑戰(zhàn)幾乎都源于ISAM和MyISAM數(shù)據(jù)庫引擎不支持事務處理(transaction process)也不支持外來鍵。盡管要比ISAM和 MyISAM引擎慢很多,但是InnoDB包括了對事務處理和外來鍵的支持,這兩點都是前兩個引擎所沒有的。如前所述,如果你的設(shè)計需要這些特性中的一者 或者兩者,那你就要被迫使用后兩個引擎中的一個了。

??? MySQL 官方對InnoDB是這樣解釋的:InnoDB給MySQL提供了具有提交、回滾和崩潰恢復能力的事務安全(ACID兼容)存儲引擎。InnoDB鎖定在行級并且也在SELECT語句提供一個Oracle風格一致的非鎖定讀,這些特色增加了多用戶部署和性能。沒有在InnoDB中擴大鎖定的需要,因為在InnoDB中行級鎖定適合非常小的空間。InnoDB也支持FOREIGN KEY強制。在SQL查詢中,你可以自由地將InnoDB類型的表與其它MySQL的表的類型混合起來,甚至在同一個查詢中也可以混合。

??? InnoDB是為處理巨大數(shù)據(jù)量時的最大性能設(shè)計,它的CPU效率可能是任何其它基于磁盤的關(guān)系數(shù)據(jù)庫引擎所不能匹敵的。

??? InnoDB存儲引擎被完全與MySQL服務器整合,InnoDB存儲引擎為在主內(nèi)存中緩存數(shù)據(jù)和索引而維持它自己的緩沖池。InnoDB存儲它的表&索引在一個表空間中,表空間可以包含數(shù)個文件(或原始磁盤分區(qū))。這與MyISAM表不同,比如在MyISAM表中每個表被存在分離的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制為2GB的操作系統(tǒng)上。

??? InnoDB默認地被包含在MySQL二進制分發(fā)中。Windows Essentials installer使InnoDB成為Windows上MySQL的默認表。

??? InnoDB被用來在眾多需要高性能的大型數(shù)據(jù)庫站點上產(chǎn)生。著名的Internet新聞站點Slashdot.org運行在InnoDB上。 Mytrix, Inc.在InnoDB上存儲超過1TB的數(shù)據(jù),還有一些其它站點在InnoDB上處理平均每秒800次插入/更新的

?

??? 一般來說,MyISAM適合:(1)做很多count 的計算;(2)插入不頻繁,查詢非常頻繁;(3)沒有事務。InnoDB適合:(1)可靠性要求比較高,或者要求事務;(2)表更新和查詢都相當?shù)念l繁,并且表鎖定的機會比較大的情況。

??? 一般情況下,MySQL會默認提供多種存儲引擎,可以通過下面的查看:

??? (1)看你的MySQL現(xiàn)在已提供什么存儲引擎: mysql> show engines;

??? (2)看你的MySQL當前默認的存儲引擎: mysql> show variables like '%storage_engine%';

??? (3)你要看某個表用了什么引擎(在顯示結(jié)果里參數(shù)engine后面的就表示該表當前用的存儲引擎): mysql> show create table 表名;

?

??? 所有的性能測試在:Micrisoft window xp sp2 , Intel(R) Pentinum(R) M processor 1.6oGHz 1G 內(nèi)存的電腦上測試。

??? 測試方法:連續(xù)提交10個query, 表記錄總數(shù):38萬 , 時間單位 s

??????? 引擎類型????????????????? ? MyISAM ??????????? ?? InnoDB ???????????? 性能相差

??????? count????????????????????? 0.0008357??????????? 3.0163??????????????? 3609

??????? 查詢主鍵????????????? ???? 0.005708?????????? ?? 0.1574????????????? ? 27.57

??????? 查詢非主鍵?????????? ?? ??? 24.01????????????? ???? 80.37???????????? ??? 3.348

??????? 更新主鍵???????????? ? ??? 0.008124???????????? 0.8183?????????????? ? 100.7

??????? 更新非主鍵??????????????? 0.004141???????????? 0.02625?????????????? 6.338

??????? 插入??????????????????? ? ?? 0.004188???????? ??? 0.3694???????????????? 88.21

??? (1)加了索引以后,對于MyISAM查詢可以加快:4 206.09733倍,對InnoDB查詢加快510.72921倍,同時對MyISAM更新速度減慢為原來的1/2,InnoDB的更新速度減慢為原來的1/30。要看情況決定是否要加索引,比如不查詢的log表,不要做任何的索引。

??? (2)如果你的數(shù)據(jù)量是百萬級別的,并且沒有任何的事務處理,那么用MyISAM是性能最好的選擇。

??? (3)InnoDB表的大小更加的大,用MyISAM可省很多的硬盤空間。

??????? 在我們測試的這個38w的表中,表占用空間的情況如下:
?????? ? ?? 引擎類型?????????????? ???? MyISAM ???????? ???? InnoDB
? ? ? ????? 數(shù)據(jù)?????????????????????? 53,924 KB?????????? 58,976 KB
? ? ? ????? 索引????????????????????? ?13,640 KB???????? ??21,072 KB
? ? ? ????? 占用總空間??????????? ? 67,564 KB????????? ?80,048 KB
?
??????? 另外一個176W萬記錄的表, 表占用空間的情況如下:

??????????? 引擎類型?????????? ???? MyIsam??????? ???? ? InnorDB
??????????? 數(shù)據(jù)????????????? ?????56,166 KB???????? ??90,736 KB
??????????? 索引?????????????????? 67,103 KB???????? ? 88,848 KB
??????????? 占用總空間??????? 123,269 KB?????? ??179,584 KB

轉(zhuǎn)載于:https://www.cnblogs.com/Life-Record/p/5292317.html

總結(jié)

以上是生活随笔為你收集整理的MySQL 数据库 引擎的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩在线一区 | 看片免费黄在线观看入口 | 亚洲福利一区二区三区 | 天天射天天操天天干 | 亚洲wwwwww | 亚洲精品香蕉 | 天天干天天干天天干 | wwww欧美| 老色鬼av | jizz日本在线播放 | 手机亚洲第一页 | 国产aa视频| 日韩黄色影视 | 超碰在线免费观看97 | 中文字幕 日韩有码 | free性中国hd国语露脸 | 亚洲男人天堂电影 | 国语对白清晰刺激对白 | 日韩123| 日本在线视频播放 | 一区二区三区精品在线 | 精品一区二区在线观看 | av动漫在线免费观看 | 欧美成年人视频 | 国产男女啪啪 | 国产乱人伦app精品久久 | 狠狠操天天射 | 国产黄色小视频在线观看 | 国产黄色片免费看 | 超碰中文字幕 | 无码人妻h动漫 | 欧美极品少妇xxxxⅹ免费视频 | av在线地址 | 人妻一区二区三区 | 国产精品久久久精品 | 日本久久伊人 | 欧美三级特黄 | 一级香蕉视频在线观看 | 6996电视影片免费看 | 国产jjizz一区二区三区视频 | 免费黄视频在线观看 | 亚洲国产aⅴ精品一区二区 日韩黄色在线视频 | 日日嗨av一区二区三区四区 | 国产乱码久久久久久 | 国产精品揄拍100视频 | 国产日韩精品suv | 国产精品卡一卡二 | 男女啪啪免费看 | 日本乱偷中文字幕 | 在线免费观看网站入口在哪 | 欧美hdse | 亚洲熟妇av日韩熟妇在线 | 高清久久久久久 | 高h调教冰块play男男双性文 | 欧美xxxx黑人又粗又长密月 | 久草影视网 | 中文字幕人妻一区二区三区在线视频 | 美女日批网站 | 网站色 | 一级作爱片| 一级aaa毛片| 欧美另类69xxxx | 日韩精品aaa| 久久天天东北熟女毛茸茸 | 成人综合激情网 | 国产情侣呻吟对白高潮 | 国产欧美日韩综合精品一区二区三区 | 一区二区三区久久精品 | 黑人精品无码一区二区三区 | 九九热在线视频 | 无码人妻丰满熟妇区毛片18 | 欧美国产成人精品一区二区三区 | 一区二区免费 | 在线观看av日韩 | 天天干少妇 | 国产精品7 | 国产视频精品自拍 | 成人涩涩视频 | 欧美不卡一区二区三区 | 欧美一区免费 | 日韩中文字幕综合 | 两口子交换真实刺激高潮 | 日日操夜夜撸 | 成年人在线免费观看 | 白白色视频在线 | 日韩欧美综合视频 | 国产欧美一区二区三区视频在线观看 | 美女被捅个不停 | 国产乱码精品一区二区 | 色综合婷婷 | 亚洲精品男人的天堂 | 免费观看成人鲁鲁鲁鲁鲁视频 | 欧美10p | 超碰极品 | 国产女人高潮的av毛片 | 免费看一级黄色片 | 色婷婷a| 午夜视频福利在线 | 日韩欧美一二区 |