mysql涓璱nnodb鍜宮yisam瀵规瘮鍙婄储寮曞師鐞嗗尯鍒?杞?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql涓璱nnodb鍜宮yisam瀵规瘮鍙婄储寮曞師鐞嗗尯鍒?杞?相关的知识,希望对你有一定的参考价值。
鏍囩锛?a href='http://www.mamicode.com/so/1/%e4%b8%8d%e5%8f%af' title='涓嶅彲'>涓嶅彲 骞冲潎璐熻浇 https 缁嗚妭 鏂囧瓧 鏂囦欢 澶т簬
InnoDB鍜孧yISAM鏄緢澶氫汉鍦ㄤ娇鐢∕ySQL鏃舵渶甯哥敤鐨勪袱涓〃绫诲瀷锛岃繖涓や釜琛ㄧ被鍨嬪悇鏈変紭鍔o紝5.7涔嬪悗灏变笉涓€鏍蜂簡
1銆佷簨鍔″拰澶栭敭
InnoDB鍏锋湁浜嬪姟锛屾敮鎸?涓簨鍔¢殧绂荤骇鍒紝鍥炴粴锛屽穿婧冧慨澶嶈兘鍔涘拰澶氱増鏈苟鍙戠殑浜嬪姟瀹夊叏锛屽寘鎷珹CID銆傚鏋滃簲鐢ㄤ腑闇€瑕佹墽琛屽ぇ閲忕殑INSERT鎴朥PDATE鎿嶄綔锛屽垯搴旇浣跨敤InnoDB锛岃繖鏍峰彲浠ユ彁楂樺鐢ㄦ埛骞跺彂鎿嶄綔鐨勬€ц兘
MyISAM绠$悊闈炰簨鍔¤〃銆傚畠鎻愪緵楂橀€熷瓨鍌ㄥ拰妫€绱紝浠ュ強鍏ㄦ枃鎼滅储鑳藉姏銆傚鏋滃簲鐢ㄤ腑闇€瑕佹墽琛屽ぇ閲忕殑SELECT鏌ヨ锛岄偅涔圡yISAM鏄洿濂界殑閫夋嫨
2銆佸叏鏂囩储寮?/p>
Innodb涓嶆敮鎸佸叏鏂囩储寮曪紝濡傛灉涓€瀹氳鐢ㄧ殑璇濓紝鏈€濂戒娇鐢╯phinx绛夋悳绱㈠紩鎿庛€俶yisam瀵逛腑鏂囨敮鎸佺殑涓嶆槸寰堝ソ
涓嶈繃鏂扮増鏈殑Innodb宸茬粡鏀寔浜?/p>
3銆侀攣
mysql鏀寔涓夌閿佸畾绾у埆锛岃绾с€侀〉绾с€佽〃绾?
MyISAM鏀寔琛ㄧ骇閿佸畾锛屾彁渚涗笌 Oracle 绫诲瀷涓€鑷寸殑涓嶅姞閿佽鍙?non-locking read in SELECTs)
InnoDB鏀寔琛岀骇閿侊紝InnoDB琛ㄧ殑琛岄攣涔熶笉鏄粷瀵圭殑锛屽鏋滃湪鎵ц涓€涓猄QL璇彞鏃禡ySQL涓嶈兘纭畾瑕佹壂鎻忕殑鑼冨洿锛孖nnoDB琛ㄥ悓鏍蜂細閿佸叏琛紝娉ㄦ剰闂撮殭閿佺殑褰卞搷
渚嬪update table set num=1 where name like “%aaa%”
4銆佸瓨鍌?/p>
MyISAM鍦ㄧ鐩樹笂瀛樺偍鎴愪笁涓枃浠躲€傜涓€涓枃浠剁殑鍚嶅瓧浠ヨ〃鐨勫悕瀛楀紑濮嬶紝鎵╁睍鍚嶆寚鍑烘枃浠剁被鍨嬶紝 .frm鏂囦欢瀛樺偍琛ㄥ畾涔夛紝鏁版嵁鏂囦欢鐨勬墿灞曞悕涓?MYD锛?nbsp; 绱㈠紩鏂囦欢鐨勬墿灞曞悕鏄?MYI
InnoDB锛屽熀浜庣鐩樼殑璧勬簮鏄疘nnoDB琛ㄧ┖闂存暟鎹枃浠跺拰瀹冪殑鏃ュ織鏂囦欢锛孖nnoDB 琛ㄧ殑澶у皬鍙彈闄愪簬鎿嶄綔绯荤粺鏂囦欢鐨勫ぇ灏?/p>
娉ㄦ剰锛歁yISAM琛ㄦ槸淇濆瓨鎴愭枃浠剁殑褰㈠紡锛屽湪璺ㄥ钩鍙扮殑鏁版嵁杞Щ涓娇鐢∕yISAM瀛樺偍浼氱渷鍘讳笉灏戠殑楹荤儲
5銆佺储寮?/p>
InnoDB锛堢储寮曠粍缁囪〃锛変娇鐢ㄧ殑鑱氱皣绱㈠紩銆佺储寮曞氨鏄暟鎹紝椤哄簭瀛樺偍锛屽洜姝よ兘缂撳瓨绱㈠紩锛屼篃鑳界紦瀛樻暟鎹?/p>
MyISAM锛堝爢缁勭粐琛級浣跨敤鐨勬槸闈炶仛绨囩储寮曘€佺储寮曞拰鏂囦欢鍒嗗紑锛岄殢鏈哄瓨鍌紝鍙兘缂撳瓨绱㈠紩
6銆佸苟鍙?/p>
MyISAM璇诲啓浜掔浉闃诲锛氫笉浠呬細鍦ㄥ啓鍏ョ殑鏃跺€欓樆濉炶鍙栵紝MyISAM杩樹細鍦ㄨ鍙栫殑鏃跺€欓樆濉炲啓鍏ワ紝浣嗚鏈韩骞朵笉浼氶樆濉炲彟澶栫殑璇?/p>
InnoDB 璇诲啓闃诲涓庝簨鍔¢殧绂荤骇鍒浉鍏?/p>
7銆佸満鏅€夋嫨
MyISAM
- 涓嶉渶瑕佷簨鍔℃敮鎸侊紙涓嶆敮鎸侊級
- 骞跺彂鐩稿杈冧綆锛堥攣瀹氭満鍒堕棶棰橈級
- 鏁版嵁淇敼鐩稿杈冨皯锛堥樆濉為棶棰橈級锛屼互璇讳负涓?/li>
- 鏁版嵁涓€鑷存€ц姹備笉鏄潪甯搁珮
- 灏介噺绱㈠紩锛堢紦瀛樻満鍒讹級
- 璋冩暣璇诲啓浼樺厛绾э紝鏍规嵁瀹為檯闇€姹傜‘淇濋噸瑕佹搷浣滄洿浼樺厛
- 鍚敤寤惰繜鎻掑叆鏀瑰杽澶ф壒閲忓啓鍏ユ€ц兘
- 灏介噺椤哄簭鎿嶄綔璁﹊nsert鏁版嵁閮藉啓鍏ュ埌灏鹃儴锛屽噺灏戦樆濉?/li>
- 鍒嗚В澶х殑鎿嶄綔锛岄檷浣庡崟涓搷浣滅殑闃诲鏃堕棿
- 闄嶄綆骞跺彂鏁帮紝鏌愪簺楂樺苟鍙戝満鏅€氳繃搴旂敤鏉ヨ繘琛屾帓闃熸満鍒?/li>
- 瀵逛簬鐩稿闈欐€佺殑鏁版嵁锛屽厖鍒嗗埄鐢≦uery Cache鍙互鏋佸ぇ鐨勬彁楂樿闂晥鐜?/li>
- MyISAM鐨凜ount鍙湁鍦ㄥ叏琛ㄦ壂鎻忕殑鏃跺€欑壒鍒珮鏁堬紝甯︽湁鍏朵粬鏉′欢鐨刢ount閮介渶瑕佽繘琛屽疄闄呯殑鏁版嵁璁块棶
InnoDB
- 闇€瑕佷簨鍔℃敮鎸侊紙鍏锋湁杈冨ソ鐨勪簨鍔$壒鎬э級
- 琛岀骇閿佸畾瀵归珮骞跺彂鏈夊緢濂界殑閫傚簲鑳藉姏锛屼絾闇€瑕佺‘淇濇煡璇㈡槸閫氳繃绱㈠紩瀹屾垚
- 鏁版嵁鏇存柊杈冧负棰戠箒鐨勫満鏅?/li>
- 鏁版嵁涓€鑷存€ц姹傝緝楂?/li>
- 纭欢璁惧鍐呭瓨杈冨ぇ锛屽彲浠ュ埄鐢↖nnoDB杈冨ソ鐨勭紦瀛樿兘鍔涙潵鎻愰珮鍐呭瓨鍒╃敤鐜囷紝灏藉彲鑳藉噺灏戠鐩?IO
- 涓婚敭灏藉彲鑳藉皬锛岄伩鍏嶇粰Secondary index甯︽潵杩囧ぇ鐨勭┖闂磋礋鎷?/li>
- 閬垮厤鍏ㄨ〃鎵弿锛屽洜涓轰細浣跨敤琛ㄩ攣
- 灏藉彲鑳界紦瀛樻墍鏈夌殑绱㈠紩鍜屾暟鎹紝鎻愰珮鍝嶅簲閫熷害
- 鍦ㄥぇ鎵归噺灏忔彃鍏ョ殑鏃跺€欙紝灏介噺鑷繁鎺у埗浜嬪姟鑰屼笉瑕佷娇鐢╝utocommit鑷姩鎻愪氦
- 鍚堢悊璁剧疆innodb_flush_log_at_trx_commit鍙傛暟鍊硷紝涓嶈杩囧害杩芥眰瀹夊叏鎬?/li>
- 閬垮厤涓婚敭鏇存柊锛屽洜涓鸿繖浼氬甫鏉ュぇ閲忕殑鏁版嵁绉诲姩
8銆佸叾瀹冪粏鑺?/p>
1锛塈nnoDB 涓笉淇濆瓨琛ㄧ殑鍏蜂綋琛屾暟锛屾敞鎰忕殑鏄紝褰揷ount(*)璇彞鍖呭惈 where鏉′欢鏃讹紝涓ょ琛ㄧ殑鎿嶄綔鏄竴鏍风殑
2锛夊浜嶢UTO_INCREMENT绫诲瀷鐨勫瓧娈碉紝InnoDB涓繀椤诲寘鍚彧鏈夎瀛楁鐨勭储寮曪紝浣嗘槸鍦∕yISAM琛ㄤ腑锛屽彲浠ュ拰鍏朵粬瀛楁涓€璧峰缓绔嬭仈鍚堢储寮曪紝 濡傛灉浣犱负涓€涓〃鎸囧畾AUTO_INCREMENT鍒楋紝鍦ㄦ暟鎹瘝鍏搁噷鐨処nnoDB琛ㄥ彞鏌勫寘鍚竴涓悕涓鸿嚜鍔ㄥ闀胯鏁板櫒鐨勮鏁板櫒锛屽畠琚敤鍦ㄤ负璇ュ垪璧嬫柊鍊笺€傝嚜鍔ㄥ闀胯鏁板櫒浠呰瀛樺偍鍦ㄤ富鍐呭瓨涓紝鑰屼笉鏄瓨鍦ㄧ鐩?/p>
3锛塂ELETE FROM table鏃讹紝InnoDB涓嶄細閲嶆柊寤虹珛琛紝鑰屾槸涓€琛屼竴琛岀殑鍒犻櫎
4锛塋OAD TABLE FROM MASTER鎿嶄綔瀵笽nnoDB鏄笉璧蜂綔鐢ㄧ殑锛岃В鍐虫柟娉曟槸棣栧厛鎶奍nnoDB琛ㄦ敼鎴怣yISAM琛紝瀵煎叆鏁版嵁鍚庡啀鏀规垚InnoDB琛紝浣嗘槸瀵逛簬浣跨敤鐨勯澶栫殑InnoDB鐗规€?渚嬪澶栭敭)鐨勮〃涓嶉€傜敤
5锛夊鏋滄墽琛屽ぇ閲忕殑SELECT锛孧yISAM鏄洿濂界殑閫夋嫨锛屽鏋滀綘鐨勬暟鎹墽琛屽ぇ閲忕殑INSERT鎴朥PDATE锛屽嚭浜庢€ц兘鏂归潰鐨勮€冭檻锛屽簲璇ヤ娇鐢↖nnoDB琛?/p>
7銆佷负浠€涔圡yISAM浼氭瘮Innodb 鐨勬煡璇㈤€熷害蹇?/p>
InnoDB 鍦ㄥ仛SELECT鐨勬椂鍊欙紝瑕佺淮鎶ょ殑涓滆タ姣擬YISAM寮曟搸澶氬緢澶氾紱
1锛塈nnoDB 瑕佺紦瀛樻暟鎹拰绱㈠紩锛孧yISAM鍙紦瀛樼储寮曞潡锛岃繖涓棿杩樻湁鎹㈣繘鎹㈠嚭鐨勫噺灏?/p>
2锛塱nnodb瀵诲潃瑕佹槧灏勫埌鍧楋紝鍐嶅埌琛岋紝MyISAM璁板綍鐨勭洿鎺ユ槸鏂囦欢鐨凮FFSET锛屽畾浣嶆瘮INNODB瑕佸揩
3锛塈nnoDB 杩橀渶瑕佺淮鎶VCC涓€鑷达紱铏界劧浣犵殑鍦烘櫙娌℃湁锛屼絾浠栬繕鏄渶瑕佸幓妫€鏌ュ拰缁存姢
MVCC ( Multi-Version Concurrency Control )澶氱増鏈苟鍙戞帶鍒?/p>
InnoDB 锛氶€氳繃涓烘瘡涓€琛岃褰曟坊鍔犱袱涓澶栫殑闅愯棌鐨勫€兼潵瀹炵幇MVCC锛岃繖涓や釜鍊间竴涓褰曡繖琛屾暟鎹綍鏃惰鍒涘缓锛屽彟澶栦竴涓褰曡繖琛屾暟鎹綍鏃惰繃鏈燂紙鎴栬€呰鍒犻櫎锛夈€備絾鏄疘nnoDB骞朵笉瀛樺偍杩欎簺浜嬩欢鍙戠敓鏃剁殑瀹為檯鏃堕棿锛岀浉鍙嶅畠鍙瓨鍌ㄨ繖浜涗簨浠跺彂鐢熸椂鐨勭郴缁熺増鏈彿銆傝繖鏄竴涓殢鐫€浜嬪姟鐨勫垱寤鸿€屼笉鏂闀跨殑鏁板瓧銆傛瘡涓簨鍔″湪浜嬪姟寮€濮嬫椂浼氳褰曞畠鑷繁鐨勭郴缁熺増鏈彿銆傛瘡涓煡璇㈠繀椤诲幓妫€鏌ユ瘡琛屾暟鎹殑鐗堟湰鍙蜂笌浜嬪姟鐨勭増鏈彿鏄惁鐩稿悓銆傝鎴戜滑鏉ョ湅鐪嬪綋闅旂绾у埆鏄疪EPEATABLE READ鏃惰繖绉嶇瓥鐣ユ槸濡備綍搴旂敤鍒扮壒瀹氱殑鎿嶄綔鐨?/p>
SELECT InnoDB蹇呴』姣忚鏁版嵁鏉ヤ繚璇佸畠绗﹀悎涓や釜鏉′欢
1銆両nnoDB蹇呴』鎵惧埌涓€涓鐨勭増鏈紝瀹冭嚦灏戣鍜屼簨鍔$殑鐗堟湰涓€鏍疯€?涔熷嵆瀹冪殑鐗堟湰鍙蜂笉澶т簬浜嬪姟鐨勭増鏈彿)銆傝繖淇濊瘉浜嗕笉绠℃槸浜嬪姟寮€濮嬩箣鍓嶏紝鎴栬€呬簨鍔″垱寤烘椂锛屾垨鑰呬慨鏀逛簡杩欒鏁版嵁鐨勬椂鍊欙紝杩欒鏁版嵁鏄瓨鍦ㄧ殑銆?/p>
2銆佽繖琛屾暟鎹殑鍒犻櫎鐗堟湰蹇呴』鏄湭瀹氫箟鐨勬垨鑰呮瘮浜嬪姟鐗堟湰瑕佸ぇ銆傝繖鍙互淇濊瘉鍦ㄤ簨鍔″紑濮嬩箣鍓嶈繖琛屾暟鎹病鏈夎鍒犻櫎銆?br />
8銆乵ysql鎬ц兘璁ㄨ
MyISAM鏈€涓轰汉鍨㈢梾鐨勭己鐐瑰氨鏄己涔忎簨鍔$殑鏀寔
InnoDB 鐨勭鐩樻€ц兘寰堜护浜烘媴蹇?/p>
MySQL 缂轰箯鑹ソ鐨?tablespace
涓ょ绫诲瀷鏈€涓昏鐨勫樊鍒氨鏄疘nnodb 鏀寔浜嬪姟澶勭悊涓庡閿拰琛岀骇閿?鑰孧yISAM涓嶆敮鎸?鎵€浠yISAM寰€寰€灏卞鏄撹浜鸿涓哄彧閫傚悎鍦ㄥ皬椤圭洰涓娇鐢ㄣ€?/p>
鎴戜綔涓轰娇鐢∕ySQL鐨勭敤鎴疯搴﹀嚭鍙戯紝Innodb鍜孧yISAM閮芥槸姣旇緝鍠滄鐨勶紝浣嗘槸浠庢垜鐩墠杩愮淮鐨勬暟鎹簱骞冲彴瑕佽揪鍒伴渶姹傦細99.9%鐨勭ǔ瀹氭€э紝鏂逛究鐨勬墿灞曟€у拰楂樺彲鐢ㄦ€ф潵璇寸殑璇濓紝MyISAM缁濆鏄垜鐨勯閫夈€?/p>
鍘熷洜濡備笅锛?/p>
1銆侀鍏堟垜鐩墠骞冲彴涓婃壙杞界殑澶ч儴鍒嗛」鐩槸璇诲鍐欏皯鐨勯」鐩紝鑰孧yISAM鐨勮鎬ц兘鏄瘮Innodb寮轰笉灏戠殑銆?/p>
2銆丮yISAM鐨勭储寮曞拰鏁版嵁鏄垎寮€鐨勶紝骞朵笖绱㈠紩鏄湁鍘嬬缉鐨勶紝鍐呭瓨浣跨敤鐜囧氨瀵瑰簲鎻愰珮浜嗕笉灏戙€傝兘鍔犺浇鏇村绱㈠紩锛岃€孖nnodb鏄储寮曞拰鏁版嵁鏄揣瀵嗘崋缁戠殑锛屾病鏈変娇鐢ㄥ帇缂╀粠鑰屼細閫犳垚Innodb姣擬yISAM浣撶Н搴炲ぇ涓嶅皬銆?/p>
3銆佷粠骞冲彴瑙掑害鏉ヨ锛岀粡甯搁殧1锛?涓湀灏变細鍙戠敓搴旂敤寮€鍙戜汉鍛樹笉灏忓績update涓€涓〃where鍐欑殑鑼冨洿涓嶅锛屽鑷磋繖涓〃娌℃硶姝e父鐢ㄤ簡锛岃繖涓椂鍊橫yISAM鐨勪紭瓒婃€у氨浣撶幇鍑烘潵浜嗭紝闅忎究浠庡綋澶╂嫹璐濈殑鍘嬬缉鍖呭彇鍑哄搴旇〃鐨勬枃浠讹紝闅忎究鏀惧埌涓€涓暟鎹簱鐩綍涓嬶紝鐒跺悗dump鎴恠ql鍐嶅鍥炲埌涓诲簱锛屽苟鎶婂搴旂殑binlog琛ヤ笂銆傚鏋滄槸Innodb锛屾亹鎬曚笉鍙兘鏈夎繖涔堝揩閫熷害锛屽埆鍜屾垜璇磋Innodb瀹氭湡鐢ㄥ鍑簒xx.sql鏈哄埗澶囦唤锛屽洜涓烘垜骞冲彴涓婃渶灏忕殑涓€涓暟鎹簱瀹炰緥鐨勬暟鎹噺鍩烘湰閮芥槸鍑犲崄G澶у皬銆?/p>
4銆佷粠鎴戞帴瑙︾殑搴旂敤閫昏緫鏉ヨ锛宻elect count(*) 鍜宱rder by 鏄渶棰戠箒鐨勶紝澶ф鑳藉崰浜嗘暣涓猻ql鎬昏鍙ョ殑60%浠ヤ笂鐨勬搷浣滐紝鑰岃繖绉嶆搷浣淚nnodb鍏跺疄涔熸槸浼氶攣琛ㄧ殑锛屽緢澶氫汉浠ヤ负Innodb鏄绾ч攣锛岄偅涓彧鏄痺here瀵瑰畠涓婚敭鏄湁鏁堬紝闈炰富閿殑閮戒細閿佸叏琛ㄧ殑銆?/p>
5銆佽繕鏈夊氨鏄粡甯告湁寰堝搴旂敤閮ㄩ棬闇€瑕佹垜缁欎粬浠畾鏈熸煇浜涜〃鐨勬暟鎹紝MyISAM鐨勮瘽寰堟柟渚匡紝鍙鍙戠粰浠栦滑瀵瑰簲閭h〃鐨刦rm.MYD,MYI鐨勬枃浠讹紝璁╀粬浠嚜宸卞湪瀵瑰簲鐗堟湰鐨勬暟鎹簱鍚姩灏辫锛岃€孖nnodb灏遍渶瑕佸鍑簒xx.sql浜嗭紝鍥犱负鍏夌粰鍒汉鏂囦欢锛屽彈瀛楀吀鏁版嵁鏂囦欢鐨勫奖鍝嶏紝瀵规柟鏄棤娉曚娇鐢ㄧ殑銆?/p>
6銆佸鏋滃拰MyISAM姣攊nsert鍐欐搷浣滅殑璇濓紝Innodb杩樿揪涓嶅埌MyISAM鐨勫啓鎬ц兘锛屽鏋滄槸閽堝鍩轰簬绱㈠紩鐨剈pdate鎿嶄綔锛岃櫧鐒禡yISAM鍙兘浼氶€婅壊Innodb,浣嗘槸閭d箞楂樺苟鍙戠殑鍐欙紝浠庡簱鑳藉惁杩界殑涓婁篃鏄竴涓棶棰橈紝杩樹笉濡傞€氳繃澶氬疄渚嬪垎搴撳垎琛ㄦ灦鏋勬潵瑙e喅銆?/p>
7銆佸鏋滄槸鐢∕yISAM鐨勮瘽锛宮erge寮曟搸鍙互澶уぇ鍔犲揩搴旂敤閮ㄩ棬鐨勫紑鍙戦€熷害锛屼粬浠彧瑕佸杩欎釜merge琛ㄥ仛涓€浜泂elect count(*)鎿嶄綔锛岄潪甯搁€傚悎澶ч」鐩€婚噺绾﹀嚑浜跨殑rows鏌愪竴绫诲瀷(濡傛棩蹇楋紝璋冩煡缁熻)鐨勪笟鍔¤〃銆?/p>
褰撶劧Innodb涔熶笉鏄粷瀵逛笉鐢紝鐢ㄤ簨鍔$殑椤圭洰濡傛ā鎷熺倰鑲¢」鐩紝鎴戝氨鏄敤Innodb鐨勶紝娲昏穬鐢ㄦ埛20澶氫竾鏃跺€欙紝涔熸槸寰堣交鏉惧簲浠樹簡锛屽洜姝ゆ垜涓汉涔熸槸寰堝枩娆nnodb鐨勶紝鍙槸濡傛灉浠庢暟鎹簱骞冲彴搴旂敤鍑哄彂锛屾垜杩樻槸浼氶閫塎yISAM銆?/p>
鍙﹀锛屽彲鑳芥湁浜轰細璇翠綘MyISAM鏃犳硶鎶楀お澶氬啓鎿嶄綔锛屼絾鏄垜鍙互閫氳繃鏋舵瀯鏉ュ讥琛ワ紝璇翠釜鎴戠幇鏈夌敤鐨勬暟鎹簱骞冲彴瀹归噺锛氫富浠庢暟鎹€婚噺鍦ㄥ嚑鐧綯浠ヤ笂锛屾瘡澶╁崄澶氫嚎 pv鐨勫姩鎬侀〉闈紝杩樻湁鍑犱釜澶ч」鐩槸閫氳繃鏁版嵁鎺ュ彛鏂瑰紡璋冪敤鏈畻杩沺v鎬绘暟锛?鍏朵腑鍖呮嫭涓€涓ぇ椤圭洰鍥犱负鍒濇湡memcached娌¢儴缃?瀵艰嚧鍗曞彴鏁版嵁搴撴瘡澶╁鐞?9鍗冧竾鐨勬煡璇?銆傝€屾垜鐨勬暣浣撴暟鎹簱鏈嶅姟鍣ㄥ钩鍧囪礋杞介兘鍦?.5-1宸﹀彸銆?/p>
MyISAM绱㈠紩瀹炵幇
MyISAM寮曟搸浣跨敤B+Tree浣滀负绱㈠紩缁撴瀯锛屽彾鑺傜偣鐨刣ata鍩熷瓨鏀剧殑鏄暟鎹褰曠殑鍦板潃銆傚鍥撅細
杩欓噷璁捐〃涓€鍏辨湁涓夊垪锛屽亣璁炬垜浠互Col1涓轰富閿紝鍒欎笂鍥炬槸涓€涓狹yISAM琛ㄧ殑涓荤储寮曪紙Primary key锛夌ず鎰忋€傚彲浠ョ湅鍑篗yISAM鐨勭储寮曟枃浠朵粎浠呬繚瀛樻暟鎹褰曠殑鍦板潃銆傚湪MyISAM涓紝涓荤储寮曞拰杈呭姪绱㈠紩锛圫econdary key锛夊湪缁撴瀯涓婃病鏈変换浣曞尯鍒紝鍙槸涓荤储寮曡姹俴ey鏄敮涓€鐨勶紝鑰岃緟鍔╃储寮曠殑key鍙互閲嶅銆傚鏋滄垜浠湪Col2涓婂缓绔嬩竴涓緟鍔╃储寮曪紝鍒欐绱㈠紩鐨勭粨鏋勫涓嬪浘鎵€绀猴細
鍚屾牱涔熸槸涓€棰桞+Tree锛宒ata鍩熶繚瀛樻暟鎹褰曠殑鍦板潃銆傚洜姝わ紝MyISAM涓储寮曟绱㈢殑绠楁硶涓洪鍏堟寜鐓+Tree鎼滅储绠楁硶鎼滅储绱㈠紩锛屽鏋滄寚瀹氱殑Key瀛樺湪锛屽垯鍙栧嚭鍏禿ata鍩熺殑鍊硷紝鐒跺悗浠ata鍩熺殑鍊间负鍦板潃锛岃鍙栫浉搴旀暟鎹褰曘€?nbsp;
MyISAM鐨勭储寮曟柟寮忎篃鍙仛“闈炶仛闆?rdquo;鐨勶紝涔嬫墍浠ヨ繖涔堢О鍛兼槸涓轰簡涓嶪nnoDB鐨勮仛闆嗙储寮曞尯鍒嗐€?/p>
InnoDB绱㈠紩瀹炵幇
铏界劧InnoDB涔熶娇鐢˙+Tree浣滀负绱㈠紩缁撴瀯锛屼絾鍏蜂綋瀹炵幇鏂瑰紡鍗翠笌MyISAM鎴劧涓嶅悓銆?/p>
绗竴涓噸澶у尯鍒槸InnoDB鐨勬暟鎹枃浠舵湰韬氨鏄储寮曟枃浠躲€備粠涓婃枃鐭ラ亾锛孧yISAM绱㈠紩鏂囦欢鍜屾暟鎹枃浠舵槸鍒嗙鐨勶紝绱㈠紩鏂囦欢浠呬繚瀛樻暟鎹褰曠殑鍦板潃銆傝€屽湪InnoDB涓紝琛ㄦ暟鎹枃浠舵湰韬氨鏄寜B+Tree缁勭粐鐨勪竴涓储寮曠粨鏋勶紝杩欐5鏍戠殑鍙惰妭鐐筪ata鍩熶繚瀛樹簡瀹屾暣鐨勬暟鎹褰曘€傝繖涓储寮曠殑key鏄暟鎹〃鐨勪富閿紝鍥犳InnoDB琛ㄦ暟鎹枃浠舵湰韬氨鏄富绱㈠紩銆?br />
杩欓噷浠ヨ嫳鏂囧瓧绗︾殑ASCII鐮佷綔涓烘瘮杈冨噯鍒欍€傝仛闆嗙储寮曡繖绉嶅疄鐜版柟寮忎娇寰楁寜涓婚敭鐨勬悳绱㈠崄鍒嗛珮鏁堬紝浣嗘槸杈呭姪绱㈠紩鎼滅储闇€瑕佹绱袱閬嶇储寮曪細棣栧厛妫€绱㈣緟鍔╃储寮曡幏寰椾富閿紝鐒跺悗鐢ㄤ富閿埌涓荤储寮曚腑妫€绱㈣幏寰楄褰曘€?/p>
鎬荤粨
鍦ㄦ暟鎹簱寮€鍙戜腑锛屼簡瑙d笉鍚屽瓨鍌ㄥ紩鎿庣殑绱㈠紩瀹炵幇鏂瑰紡瀵逛簬姝g‘浣跨敤鍜屼紭鍖栫储寮曢兘闈炲父鏈夊府鍔┿€備緥濡傦紝鐭ラ亾浜咺nnoDB鐨勭储寮曞疄鐜板悗锛屽氨寰堝鏄撴槑鐧戒负浠€涔堜笉寤鸿浣跨敤杩囬暱鐨勫瓧娈典綔涓轰富閿紝鍥犱负鎵€鏈夎緟鍔╃储寮曢兘寮曠敤涓荤储寮曪紝杩囬暱鐨勪富绱㈠紩浼氫护杈呭姪绱㈠紩鍙樺緱杩囧ぇ銆傚啀渚嬪锛岀敤闈炲崟璋冪殑瀛楁浣滀负涓婚敭鍦↖nnoDB涓笉鏄釜濂藉仛娉曪紝鍥犱负InnoDB鏁版嵁鏂囦欢鏈韩鏄竴棰桞+Tree锛岄潪鍗曡皟鐨勪富閿細閫犳垚鍦ㄦ彃鍏ユ柊璁板綍鏃舵暟鎹枃浠朵负浜嗙淮鎸丅+Tree鐨勭壒鎬ц€岄绻佺殑鍒嗚璋冩暣锛屽崄鍒嗕綆鏁堬紝鑰屼娇鐢ㄨ嚜澧炲瓧娈典綔涓轰富閿垯鏄竴涓緢濂界殑閫夋嫨銆?/p>
以上是关于mysql涓璱nnodb鍜宮yisam瀵规瘮鍙婄储寮曞師鐞嗗尯鍒?杞?的主要内容,如果未能解决你的问题,请参考以下文章
Java7/8 涓?HashMap 鍜?ConcurrentHashMap婧愮爜瀵规瘮鍒嗘瀽
锛堢瑪璁版湰鐢佃剳鍖呰瀵规瘮-绾稿VS鍚稿锛塎icrosoft VS Mac