Mysql 數(shù)據(jù)庫中,最常用的兩種引擎是innordb和myisam。Innordb的功能要比myiasm強(qiáng)大很多,但是innordb的性能要比myisam差很多,如果你的網(wǎng)站只是做簡單的查詢,更新,刪除,那么用myiasm是最好的選擇。
創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營銷策劃、成都網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、成都小程序開發(fā)、HTML5建站、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、全網(wǎng)整合營銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。所有的性能測試在:Micrisoft window xp sp2 , Intel(R) Pentinum(R) M processor 1.6oGHz 1G 內(nèi)存的電腦上測試。
測試結(jié)果:
測試方法:連續(xù)提交10個query, 表記錄總數(shù):38萬 , 時間單位 s
引擎類型 Myisam innordb 性能相差
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
結(jié)論:
1. 加了索引以后,對于Myisam查詢可以加快:4 206.09733倍,對innordb 查詢加快510.72921倍。同時對myisam更新速度減慢為原來的1/2,innordb的更新速度減慢為原來的1/30。大家要看情況決定是否要加索引,比如不查詢的log表,不要做任何的索引。
2. 如果你的數(shù)據(jù)量是百萬級別的,并且沒有任何的事務(wù)處理,那么用myisam是性能最好的選擇。
3. Innordb的表的大小更加的大,用myisam可以省很多的硬盤空間。
在我們測試的這個38w的表中,表占用空間的情況如下:
引擎類型 MyIsam InnorDB
數(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
MyIsam引擎和InnorDB引擎簡介:
MyISAM
MyISAM是MySQL的ISAM擴(kuò)展格式和缺省的數(shù)據(jù)庫引擎。除了提供ISAM里所沒有的索引和字段管理的大量功能,MyISAM還使用一種表格鎖定的機(jī)制,來優(yōu)化多個并發(fā)的讀寫操作。其代價是你需要經(jīng)常運(yùn)行OPTIMIZE TABLE命令,來恢復(fù)被更新機(jī)制所浪費(fèi)的空間(學(xué)過數(shù)據(jù)結(jié)構(gòu)的都應(yīng)該知道,ISAM文件格式的缺陷)。MyISAM還有一些有用的擴(kuò)展,例如用來修復(fù)數(shù)據(jù)庫文件的MyISAMChk工具和用來恢復(fù)浪費(fèi)空間的MyISAMPack工具。
MyISAM強(qiáng)調(diào)了快速讀取操作,這可能就是為什么MySQL受到了Web開發(fā)如此青睞的主要原因:在Web開發(fā)中你所進(jìn)行的大量數(shù)據(jù)操作都是讀取操作。所以,大多數(shù)虛擬主機(jī)提供商和Internet平臺提供商(Internet Presence Provider,IPP)只允許使用MyISAM格式。 MYISAM格式的一個重要缺陷就是不能在表損壞后恢復(fù)數(shù)據(jù)。
InnorDB
InnoDB數(shù)據(jù)庫引擎都是造就MySQL靈活性的技術(shù)的直接產(chǎn)品,這項(xiàng)技術(shù)就是MySQL++ API。在使用MySQL的時候,你所面對的每一個挑戰(zhàn)幾乎都源于ISAM和MyISAM數(shù)據(jù)庫引擎不支持事務(wù)處理也不支持外來鍵。盡管要比ISAM和 MyISAM引擎慢很多,但是InnoDB包括了對事務(wù)處理和外鍵的支持,這兩點(diǎn)都是前兩個引擎所沒有的。如前所述,如果你的設(shè)計需要這些特性中的一者或者兩者,那你就要被迫使用后兩個引擎中的一個了。
Mysql 官方對InnorDB是這樣解釋的:
InnoDB給MySQL提供了具有提交,回滾和崩潰恢復(fù)能力的事務(wù)安全(ACID兼容)存儲引擎。InnoDB鎖定在行級并且也在SELECT語句提供一個Oracle風(fēng)格一致的非鎖定讀。這些特色增加了多用戶部署和性能。沒有在InnoDB中擴(kuò)大鎖定的需要,因?yàn)樵贗nnoDB中行級鎖定適合非常小的空間。InnoDB也支持FOREIGN KEY強(qiáng)制。在SQL查詢中,你可以自由地將InnoDB類型的表與其它MySQL的表的類型混合起來,甚至在同一個查詢中也可以混合。
InnoDB是為處理巨大數(shù)據(jù)量時的大性能設(shè)計。它的CPU效率可能是任何其它基于磁盤的關(guān)系數(shù)據(jù)庫引擎所不能匹敵的。
InnoDB存儲引擎被完全與MySQL服務(wù)器整合,InnoDB存儲引擎為在主內(nèi)存中緩存數(shù)據(jù)和索引而維持它自己的緩沖池。InnoDB存儲它的表&索引在一個表空間中,表空間可以包含數(shù)個文件(或原始磁盤分區(qū))。這與MyISAM表不同,比如在MyISAM表中每個表被存在分離的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制為2GB的操作系統(tǒng)上。
InnoDB默認(rèn)地被包含在MySQL二進(jìn)制分發(fā)中。Windows Essentials installer使InnoDB成為Windows上MySQL的默認(rèn)表。
InnoDB被用來在眾多需要高性能的大型數(shù)據(jù)庫站點(diǎn)上產(chǎn)生。著名的Internet新聞?wù)军c(diǎn)Slashdot.org運(yùn)行在InnoDB上。 Mytrix, Inc.在InnoDB上存儲超過1TB的數(shù)據(jù),還有一些其它站點(diǎn)在InnoDB上處理平均每秒800次插入/更新的
mysql 性能優(yōu)化(二)
今天突然看到一年前寫的 mysql 優(yōu)化(一) ,感覺有些誤人子弟。今天再補(bǔ)充一些東西。
關(guān)于引擎選擇,從理論上 和 實(shí)際上 可能會有差距,所以,對待mysql 要有實(shí)驗(yàn)精神。
一般來說,
MYisam 適合:
1. 做很多count 的計算。
2. 插入不平凡,查詢非常頻繁。
3. 沒有事務(wù)
innordb 非常適合:
1. 可靠性要求比較高,或者要求事務(wù)。
2. 表更新和查詢都相當(dāng)?shù)念l繁,并且表鎖定的機(jī)會比較大的情況。
當(dāng)然這也不是絕對的。要試驗(yàn)過才知道。
很多時候,性能瓶頸不是因?yàn)榉?wù)器配置不好,而是因?yàn)镾QL不是很好。SQL的性能優(yōu)化是關(guān)鍵。
除了這些常見的優(yōu)化方法,
還可以考慮 使用內(nèi)存表。你測試一張myisam 和 內(nèi)存表,會發(fā)現(xiàn)速度差不多。
其實(shí),在并發(fā)比較強(qiáng)的時候,性能會相差大概五倍。我有張經(jīng)常要查詢的IP 地址 和 地區(qū)的 對應(yīng)表,放入內(nèi)存后。
以前查詢 5000個 IP 地址大概 要 15S, 現(xiàn)在,只要 2S多。
很多東西,實(shí)際測試過才知道。用什么壓力測試,測試出來的也不是很準(zhǔn)確。
王安琪,英文名Angel,南京郵電大學(xué)計算機(jī)應(yīng)用技術(shù)碩士學(xué)位。 熟悉Java、C#編程語言。專注于WebService、海量數(shù)據(jù)處理、搜索引擎技術(shù)、消息中間件技術(shù)、分布式文件存儲、.NET應(yīng)用程序開發(fā)、系統(tǒng)架構(gòu)設(shè)計。主要從事大數(shù)據(jù)管理系統(tǒng)的研發(fā),項(xiàng)目經(jīng)理,系統(tǒng)架構(gòu)師,就職于江蘇金陵科技集團(tuán)有限公司。
Email:aitanjupt@hotmail.com
QQ:289770363
當(dāng)前標(biāo)題:(轉(zhuǎn))mysql數(shù)據(jù)庫引擎:MyISAM和InnoDB(性能優(yōu)化)-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://muchs.cn/article10/dpcedo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計公司、定制網(wǎng)站、品牌網(wǎng)站設(shè)計、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容