『壹』 [杞甯朷mysql甯哥敤瀛樺偍寮曟搸(InnoDB銆丮yISAM銆丮EMORY銆丮ERGE銆丄RCHIVE)浠嬬粛涓庡備綍閫夋嫨
blog.csdn.net/CSDN___LYY/article/details/80844606
涓锛氬墠瑷
鏁版嵁搴撳瓨鍌ㄥ紩鎿庢槸鏁版嵁搴撳簳灞傝蒋浠剁粍缁囷紝鏁版嵁搴撶$悊绯荤粺锛圖BMS锛変娇鐢ㄦ暟鎹寮曟搸杩涜屽垱寤恒佹煡璇銆佹洿鏂板拰鍒犻櫎鏁版嵁銆備笉鍚岀殑瀛樺偍寮曟搸鎻愪緵涓嶅悓鐨勫瓨鍌ㄦ満鍒躲佺储寮曟妧宸с侀攣瀹氭按骞崇瓑鍔熻兘锛屼娇鐢ㄤ笉鍚岀殑瀛樺偍寮曟搸锛岃繕鍙浠 鑾峰緱鐗瑰畾鐨勫姛鑳姐傜幇鍦ㄨ稿氫笉鍚岀殑鏁版嵁搴撶$悊绯荤粺閮芥敮鎸佸氱嶄笉鍚岀殑鏁版嵁寮曟搸銆侻ySql鐨勬牳蹇冨氨鏄瀛樺偍寮曟搸銆
浠涔堟槸瀛樺偍寮曟搸锛
MySQL涓鐨勬暟鎹鐢ㄥ悇绉嶄笉鍚岀殑鎶鏈瀛樺偍鍦ㄦ枃浠(鎴栬呭唴瀛)涓銆傝繖浜涙妧鏈涓鐨勬瘡涓绉嶆妧鏈閮戒娇鐢ㄤ笉鍚岀殑瀛樺偍鏈哄埗銆佺储寮曟妧宸с侀攣瀹氭按骞冲苟涓旀渶缁堟彁渚涘箍娉涚殑涓嶅悓鐨勫姛鑳藉拰鑳藉姏銆傞氳繃閫夋嫨涓嶅悓鐨勬妧鏈锛屼綘鑳藉熻幏寰楅濆栫殑閫熷害鎴栬呭姛鑳斤紝浠庤屾敼鍠勪綘鐨勫簲鐢ㄧ殑鏁翠綋鍔熻兘銆
渚嬪傦紝濡傛灉浣犲湪鐮旂┒澶ч噺鐨勪复鏃舵暟鎹锛屼綘涔熻搁渶瑕佷娇鐢ㄥ唴瀛楳ySQL瀛樺偍寮曟搸銆傚唴瀛樺瓨鍌ㄥ紩鎿庤兘澶熷湪鍐呭瓨涓瀛樺偍鎵鏈夌殑琛ㄦ牸鏁版嵁銆傚張鎴栬咃紝浣犱篃璁搁渶瑕佷竴涓鏀鎸佷簨鍔″勭悊鐨勬暟鎹搴(浠ョ‘淇濅簨鍔″勭悊涓嶆垚鍔熸椂鏁版嵁鐨勫洖閫鑳藉姏)銆
杩欎簺涓嶅悓鐨勬妧鏈浠ュ強閰嶅楃殑鐩稿叧鍔熻兘鍦 MySQL涓琚绉颁綔瀛樺偍寮曟搸(涔熺О浣滆〃绫诲瀷)銆 MySQL榛樿ら厤缃浜嗚稿氫笉鍚岀殑瀛樺偍寮曟搸锛屽彲浠ラ勫厛璁剧疆鎴栬呭湪MySQL鏈嶅姟鍣ㄤ腑鍚鐢ㄣ備綘鍙浠ラ夋嫨閫傜敤浜庢湇鍔″櫒銆佹暟鎹搴撳拰琛ㄦ牸鐨勫瓨鍌ㄥ紩鎿庯紝浠ヤ究鍦ㄩ夋嫨濡備綍瀛樺偍浣犵殑淇℃伅銆佸備綍妫绱㈣繖浜涗俊鎭浠ュ強浣犻渶瑕佷綘鐨勬暟鎹缁撳悎浠涔堟ц兘鍜屽姛鑳界殑鏃跺欎负浣犳彁渚涙渶澶х殑鐏垫椿鎬с
浜岋細瀛樺偍寮曟搸鏌ョ湅鐩稿叧
-- 鏌ョ湅鏁版嵁搴撴敮鎸佺殑瀛樺偍寮曟搸
show engines;寰楀埌鐨勭粨鏋滀负涓嬪浘锛圫upport鍒楃殑鍊艰〃绀烘煇绉嶅紩鎿庢槸鍚﹁兘浣跨敤锛歒ES琛ㄧず鍙浠ヤ娇鐢ㄣ丯O琛ㄧず涓嶈兘浣跨敤銆丏EFAULT琛ㄧず璇ュ紩鎿庝负褰撳墠榛樿ょ殑瀛樺偍寮曟搸 銆傦級锛
-- 鏌ョ湅mysql鏁版嵁搴撻粯璁ゅ紩鎿
show variables like 鈥%storage_engine%鈥;寰楀埌缁撴灉涓轰笅鍥撅紝鍙浠ョ湅鍒版垜鐨刴ysql鏁版嵁搴撻粯璁や娇鐢ㄧ殑鏄疘nnoDB瀛樺偍寮曟搸锛
-- 鏌ョ湅琛ㄥ垱寤鸿鍙ワ紝鍙浠ヨ幏寰楄〃鐨勫垱寤轰俊鎭锛屽紩鎿庛侀粯璁ゅ瓧绗︺佺害鏉熺瓑
show create table zd_grade; 鎵ц屼笂闈㈣鍙ヨ幏寰楄ヨ〃鐨勯粯璁ゆ暟鎹锛
CREATE TABLE `zd_grade` ( `ID` char(8) NOT NULL DEFAULT 鈥樷 COMMENT 鈥樺﹀彿鈥, `Course_ID` char(8) NOT NULL DEFAULT 鈥樷 COMMENT 鈥樿剧▼鍙封, `C_Grade` decimal(10,2) NOT NULL DEFAULT 鈥0.00鈥 COMMENT 鈥樹腑鏂瑰垎鏁扳, `F_Grade` decimal(10,2) NOT NULL DEFAULT 鈥0.00鈥 COMMENT 鈥樺栨柟鍒嗘暟鈥, `Exam_Time` date NOT NULL DEFAULT 鈥0000-00-00鈥 COMMENT 鈥樿冭瘯鏃ユ湡鈥, `Semister` varchar(255) NOT NULL DEFAULT 鈥樷 COMMENT 鈥樺︽湡鈥, `Grade_Type` char(2) NOT NULL DEFAULT 鈥樷 COMMENT 鈥樻垚缁╃被鍨嬧, PRIMARY KEY (`ID`,`Course_ID`,`Grade_Type`), KEY `index_grade_id` (`ID`) USING HASH) ENGINE=InnoDB DEFAULT CHARSET=utf8 鍦∕ySQL涓锛屼笉闇瑕佸湪鏁翠釜鏈嶅姟鍣ㄤ腑浣跨敤鍚屼竴绉嶅瓨鍌ㄥ紩鎿庯紝閽堝瑰叿浣撶殑瑕佹眰锛屽彲浠ュ规瘡涓涓琛ㄤ娇鐢ㄤ笉鍚岀殑瀛樺偍寮曟搸銆備笅闈㈡潵鐪嬩竴涓嬪叾涓鍑犵嶅父鐢ㄧ殑寮曟搸锛圛nnoDB銆丮yISAM銆丮EMORY銆丮ERGE銆丄RCHIVE锛夈
涓夛細鍑犵嶅父鐢ㄧ殑寮曟搸锛圛nnoDB銆丮yISAM銆丮EMORY銆丮ERGE銆丄RCHIVE锛
InnoDB瀛樺偍寮曟搸
InnoDB鏄浜嬪姟鍨嬫暟鎹搴撶殑棣栭夊紩鎿庯紝鏀鎸佷簨鍔″畨鍏ㄨ〃锛圓CID锛夛紝鏀鎸佽岄攣瀹氬拰澶栭敭锛屼笂鍥句篃鐪嬪埌浜嗭紝InnoDB鏄榛樿ょ殑MySQL寮曟搸銆
InnoDB 閲囩敤MVCC锛堝氱増鏈骞跺彂鎺у埗锛夋潵鏀鎸侀珮骞跺彂锛屽苟瀹炵幇浜嗗洓涓鏍囧噯鐨勯殧绂荤骇鍒銆傚叾榛樿ょ骇鍒鏄疪EPEATABLE READ锛堝彲閲嶅嶈伙級锛屽苟涓旈氳繃闂撮殭閿侊紙next-key locking锛夌瓥鐣ラ槻姝㈠够璇荤殑鍑虹幇銆傞棿闅欓攣鏄鐨 InnoDB 涓嶄粎浠呴攣瀹氭煡璇㈡秹鍙婄殑琛岋紝杩樹細瀵圭储寮曚腑鐨勯棿闅欒繘琛岄攣瀹氾紝浠ラ槻姝㈠够褰辫岀殑鎻掑叆銆
InnoDB 琛ㄦ槸鍩轰簬鑱氱皣绱㈠紩寤虹珛鐨勩侷nnoDB 鐨勭储寮曠粨鏋勫拰 MySQL 鐨勫叾浠栧瓨鍌ㄥ紩鎿庢湁寰堝ぇ涓嶅悓锛岃仛绨囩储寮曞逛富閿鏌ヨ㈡湁寰堥珮鐨勬ц兘銆備笉杩囧畠鐨勪簩绾х储寮曪紙secondary index锛岄潪涓婚敭绱㈠紩锛変腑蹇呴』鍖呭惈涓婚敭鍒楋紝鎵浠ュ傛灉涓婚敭寰堝ぇ鐨勮瘽锛屽叾浠栫殑鎵鏈夌储寮曢兘浼氬緢澶с傚洜姝わ紝鑻ヨ〃涓婄殑绱㈠紩杈冨氱殑璇濓紝涓婚敭搴斿綋灏藉彲鑳界殑灏忋
InnoDB涓嶅垱寤虹洰褰曪紝浣跨敤InnoDB鏃讹紝MySQL灏嗗湪MySQL鏁版嵁鐩褰曚笅鍒涘缓涓涓鍚嶄负ibdata1鐨10MB澶у皬鐨勮嚜鍔ㄦ墿灞曟暟鎹鏂囦欢锛屼互鍙婁袱涓鍚嶄负ib_logfile0鍜宨b_logfile1鐨5MB澶у皬鐨勬棩蹇楁枃浠躲
InnoDB涓昏佺壒鎬ф湁锛
InnoDB缁橫ySQL鎻愪緵浜嗗叿鏈夋彁浜ゃ佸洖婊氬拰宕╂簝鎭㈠嶈兘鍔涚殑浜嬬墿瀹夊叏锛圓CID鍏煎癸級瀛樺偍寮曟搸銆侷nnoDB閿佸畾鍦ㄨ岀骇骞朵笖涔熷湪SELECT璇鍙ヤ腑鎻愪緵涓涓绫讳技Oracle鐨勯潪閿佸畾璇汇傝繖浜涘姛鑳藉炲姞浜嗗氱敤鎴烽儴缃插拰鎬ц兘銆傚湪SQL鏌ヨ涓锛屽彲浠ヨ嚜鐢卞湴灏咺nnoDB绫诲瀷鐨勮〃鍜屽叾浠朚ySQL鐨勮〃绫诲瀷娣峰悎璧锋潵锛岀敋鑷冲湪鍚屼竴涓鏌ヨ涓涔熷彲浠ユ贩鍚圛nnoDB鏄涓哄勭悊宸ㄥぇ鏁版嵁閲忕殑鏈澶фц兘璁捐°傚畠鐨凜PU鏁堢巼鍙鑳芥槸浠讳綍鍏朵粬鍩轰簬纾佺洏鐨勫叧绯诲瀷鏁版嵁搴撳紩鎿庨攣涓嶈兘鍖规晫鐨処nnoDB瀛樺偍寮曟搸瀹屽叏涓嶮ySQL鏈嶅姟鍣ㄦ暣鍚堬紝InnoDB瀛樺偍寮曟搸涓哄湪涓诲唴瀛樹腑缂撳瓨鏁版嵁鍜岀储寮曡岀淮鎸佸畠鑷宸辩殑缂撳啿姹犮侷nnoDB灏嗗畠鐨勮〃鍜岀储寮曞湪涓涓閫昏緫琛ㄧ┖闂翠腑锛岃〃绌洪棿鍙浠ュ寘鍚鏁颁釜鏂囦欢锛堟垨鍘熷嬬佺洏鏂囦欢锛夈傝繖涓嶮yISAM琛ㄤ笉鍚岋紝姣斿傚湪MyISAM琛ㄤ腑姣忎釜琛ㄨ瀛樻斁鍦ㄥ垎绂荤殑鏂囦欢涓銆侷nnoDB琛ㄥ彲浠ユ槸浠讳綍灏哄革紝鍗充娇鍦ㄦ枃浠跺昂瀵歌闄愬埗涓2GB鐨勬搷浣滅郴缁熶笂InnoDB鏀鎸佸栭敭瀹屾暣鎬х害鏉燂紝瀛樺偍琛ㄤ腑鐨勬暟鎹鏃讹紝姣忓紶琛ㄧ殑瀛樺偍閮芥寜涓婚敭椤哄簭瀛樻斁锛屽傛灉娌℃湁鏄剧ず鍦ㄨ〃瀹氫箟鏃舵寚瀹氫富閿锛孖nnoDB浼氫负姣忎竴琛岀敓鎴愪竴涓6瀛楄妭鐨凴OWID锛屽苟浠ユや綔涓轰富閿甀nnoDB琚鐢ㄥ湪浼楀氶渶瑕侀珮鎬ц兘鐨勫ぇ鍨嬫暟鎹搴撶珯鐐逛笂MyISAM瀛樺偍寮曟搸
MyISAM鍩轰簬ISAM瀛樺偍寮曟搸锛屽苟瀵瑰叾杩涜屾墿灞曘傚畠鏄鍦╓eb銆佹暟鎹浠撳偍鍜屽叾浠栧簲鐢ㄧ幆澧冧笅鏈甯镐娇鐢ㄧ殑瀛樺偍寮曟搸涔嬩竴銆侻yISAM鎷ユ湁杈冮珮鐨勬彃鍏ャ佹煡璇㈤熷害锛屼絾涓嶆敮鎸佷簨鍔°
MyISAM琛ㄦ牸鍙浠ヨ鍘嬬缉锛岃屼笖瀹冧滑鏀鎸佸叏鏂囨悳绱銆備笉鏀鎸佷簨鍔★紝鑰屼笖涔熶笉鏀鎸佸栭敭銆傚傛灉浜嬬墿鍥炴粴灏嗛犳垚涓嶅畬鍏ㄥ洖婊氾紝涓嶅叿鏈夊師瀛愭с傚湪杩涜寀pdata鏃惰繘琛岃〃閿侊紝骞跺彂閲忕浉瀵硅緝灏忋傚傛灉鎵ц屽ぇ閲忕殑SELECT锛孧yISAM鏄鏇村ソ鐨勯夋嫨銆
MyISAM鐨勭储寮曞拰鏁版嵁鏄鍒嗗紑鐨勶紝骞朵笖绱㈠紩鏄鏈夊帇缂╃殑锛屽唴瀛樹娇鐢ㄧ巼灏卞瑰簲鎻愰珮浜嗕笉灏戙傝兘鍔犺浇鏇村氱储寮曪紝鑰孖nnodb鏄绱㈠紩鍜屾暟鎹鏄绱у瘑鎹嗙粦鐨勶紝娌℃湁浣跨敤鍘嬬缉浠庤屼細閫犳垚Innodb姣擬yISAM浣撶Н搴炲ぇ銆
MyISAM缂撳瓨鍦ㄥ唴瀛樼殑鏄绱㈠紩锛屼笉鏄鏁版嵁銆傝孖nnoDB缂撳瓨鍦ㄥ唴瀛樼殑鏄鏁版嵁锛岀浉瀵规潵璇达紝鏈嶅姟鍣ㄥ唴瀛樿秺澶э紝InnoDB鍙戞尌鐨勪紭鍔胯秺澶с
MyISAM涓昏佺壒鎬ф湁锛
澶ф枃浠讹紙杈惧埌63浣嶆枃浠堕暱搴︼級鍦ㄦ敮鎸佸ぇ鏂囦欢鐨勬枃浠剁郴缁熷拰鎿嶄綔绯荤粺涓婅鏀鎸佸綋鎶婂垹闄ゅ拰鏇存柊鍙婃彃鍏ユ搷浣滄贩鍚堜娇鐢ㄧ殑鏃跺欙紝鍔ㄦ佸昂瀵哥殑琛屼骇鐢熸洿灏戠庣墖銆傝繖瑕侀氳繃鍚堝苟鐩搁偦琚鍒犻櫎鐨勫潡锛屼互鍙婅嫢涓嬩竴涓鍧楄鍒犻櫎锛屽氨鎵╁睍鍒颁笅涓鍧楄嚜鍔ㄥ畬鎴愭瘡涓狹yISAM琛ㄦ渶澶х储寮曟暟鏄64锛岃繖鍙浠ラ氳繃閲嶆柊缂栬瘧鏉ユ敼鍙樸傛瘡涓绱㈠紩鏈澶х殑鍒楁暟鏄16鏈澶х殑閿闀垮害鏄1000瀛楄妭锛岃繖涔熷彲浠ラ氳繃缂栬瘧鏉ユ敼鍙橈紝瀵逛簬閿闀垮害瓒呰繃250瀛楄妭鐨勬儏鍐碉紝涓涓瓒呰繃1024瀛楄妭鐨勯敭灏嗚鐢ㄤ笂BLOB鍜孴EXT鍒楀彲浠ヨ绱㈠紩NULL琚鍏佽稿湪绱㈠紩鐨勫垪涓锛岃繖涓鍊煎崰姣忎釜閿鐨0~1涓瀛楄妭鎵鏈夋暟瀛楅敭鍊间互楂樺瓧鑺備紭鍏堣瀛樺偍浠ュ厑璁镐竴涓鏇撮珮鐨勭储寮曞帇缂╂瘡涓狹yISAM绫诲瀷鐨勮〃閮芥湁涓涓狝UTO_INCREMENT鐨勫唴閮ㄥ垪锛屽綋INSERT鍜孶PDATE鎿嶄綔鐨勬椂鍊欒ュ垪琚鏇存柊锛屽悓鏃禔UTO_INCREMENT鍒楀皢琚鍒锋柊銆傛墍浠ヨ达紝MyISAM绫诲瀷琛ㄧ殑AUTO_INCREMENT鍒楁洿鏂版瘮InnoDB绫诲瀷鐨凙UTO_INCREMENT鏇村揩鍙浠ユ妸鏁版嵁鏂囦欢鍜岀储寮曟枃浠舵斁鍦ㄤ笉鍚岀洰褰曟瘡涓瀛楃﹀垪鍙浠ユ湁涓嶅悓鐨勫瓧绗﹂泦鏈塚ARCHAR鐨勮〃鍙浠ュ浐瀹氭垨鍔ㄦ佽板綍闀垮害VARCHAR鍜孋HAR鍒楀彲浠ュ氳揪64KB 浣跨敤MyISAM寮曟搸鍒涘缓鏁版嵁搴擄紝灏嗕骇鐢3涓鏂囦欢銆傛枃浠剁殑鍚嶅瓧浠ヨ〃鍚嶅瓧寮濮嬶紝鎵╁睍鍚嶄箣澶勬枃浠剁被鍨嬶細frm鏂囦欢瀛樺偍琛ㄥ畾涔夈佹暟鎹鏂囦欢鐨勬墿灞曞悕涓.MYD锛圡YData锛夈佺储寮曟枃浠剁殑鎵╁睍鍚嶆椂.MYI锛圡YIndex锛
MEMORY瀛樺偍寮曟搸
浣跨敤MySQL Memory瀛樺偍寮曟搸鐨勫嚭鍙戠偣鏄閫熷害銆備负寰楀埌鏈蹇鐨勫搷搴旀椂闂达紝閲囩敤鐨勯昏緫瀛樺偍浠嬭川鏄绯荤粺鍐呭瓨銆傝櫧鐒跺湪鍐呭瓨涓瀛樺偍琛ㄦ暟鎹纭瀹炰細鎻愪緵寰堥珮鐨勬ц兘锛屼絾褰搈ysqld瀹堟姢杩涚▼宕╂簝鏃讹紝鎵鏈夌殑Memory鏁版嵁閮戒細涓㈠け銆傝幏寰楅熷害鐨勫悓鏃朵篃甯︽潵浜嗕竴浜涚己闄枫傚畠瑕佹眰瀛樺偍鍦∕emory鏁版嵁琛ㄩ噷鐨勬暟鎹浣跨敤鐨勬槸闀垮害涓嶅彉鐨勬牸寮忥紝杩欐剰鍛崇潃涓嶈兘浣跨敤BLOB鍜孴EXT杩欐牱鐨勯暱搴﹀彲鍙樼殑鏁版嵁绫诲瀷锛孷ARCHAR鏄涓绉嶉暱搴﹀彲鍙樼殑绫诲瀷锛屼絾鍥犱负瀹冨湪MySQL鍐呴儴褰撳仛闀垮害鍥哄畾涓嶅彉鐨凜HAR绫诲瀷锛屾墍浠ュ彲浠ヤ娇鐢ㄣ侻EMORY涓昏佺壒鎬ф湁锛
MEMORY琛ㄧ殑姣忎釜琛ㄥ彲浠ユ湁澶氳揪32涓绱㈠紩锛屾瘡涓绱㈠紩16鍒楋紝浠ュ強500瀛楄妭鐨勬渶澶ч敭闀垮害MEMORY瀛樺偍寮曟搸鎵ц孒ASH鍜孊TREE缂╁奖鍙浠ュ湪涓涓狹EMORY琛ㄤ腑鏈夐潪鍞涓閿鍊糓EMORY琛ㄤ娇鐢ㄤ竴涓鍥哄畾鐨勮板綍闀垮害鏍煎紡MEMORY涓嶆敮鎸丅LOB鎴朤EXT鍒桵EMORY鏀鎸丄UTO_INCREMENT鍒楀拰瀵瑰彲鍖呭惈NULL鍊肩殑鍒楃殑绱㈠紩MEMORY琛ㄥ湪鎵鐢卞㈡埛绔涔嬮棿鍏变韩锛堝氨鍍忓叾浠栦换浣曢潪TEMPORARY琛锛塎EMORY琛ㄥ唴瀛樿瀛樺偍鍦ㄥ唴瀛樹腑锛屽唴瀛樻槸MEMORY琛ㄥ拰鏈嶅姟鍣ㄥ湪鏌ヨ㈠勭悊鏃剁殑绌洪棽涓锛屽垱寤虹殑鍐呴儴琛ㄥ叡浜褰撲笉鍐嶉渶瑕丮EMORY琛ㄧ殑鍐呭规椂锛岃侀噴鏀捐玀EMORY琛ㄤ娇鐢ㄧ殑鍐呭瓨锛屽簲璇ユ墽琛孌ELETE FROM鎴朤RUNCATE TABLE锛屾垨鑰呭垹闄ゆ暣涓琛锛堜娇鐢―ROP TABLE锛塎ERGE瀛樺偍寮曟搸
MERGE瀛樺偍寮曟搸鏄涓缁凪yISAM琛ㄧ殑缁勫悎锛岃繖浜汳yISAM琛ㄧ粨鏋勫繀椤诲畬鍏ㄧ浉鍚岋紝灏界″叾浣跨敤涓嶅傚叾瀹冨紩鎿庣獊鍑猴紝浣嗘槸鍦ㄦ煇浜涙儏鍐典笅闈炲父鏈夌敤銆傝寸櫧浜嗭紝Merge琛ㄥ氨鏄鍑犱釜鐩稿悓MyISAM琛ㄧ殑鑱氬悎鍣锛汳erge琛ㄤ腑骞舵病鏈夋暟鎹锛屽筂erge绫诲瀷鐨勮〃鍙浠ヨ繘琛屾煡璇銆佹洿鏂般佸垹闄ゆ搷浣滐紝杩欎簺鎿嶄綔瀹為檯涓婃槸瀵瑰唴閮ㄧ殑MyISAM琛ㄨ繘琛屾搷浣溿
涓昏佸簲鐢ㄤ簬鏈嶅姟鍣ㄦ棩蹇楄繖绉嶄俊鎭锛屼竴鑸甯哥敤鐨勫瓨鍌ㄧ瓥鐣ユ槸灏嗘暟鎹鍒嗘垚寰堝氳〃锛屾瘡涓鍚嶇О涓庣壒瀹氱殑鏃堕棿绔鐩稿叧銆備緥濡傦細鍙浠ョ敤12涓鐩稿悓鐨勮〃鏉ュ瓨鍌ㄦ湇鍔″櫒鏃ュ織鏁版嵁锛屾瘡涓琛ㄧ敤瀵瑰簲鍚勪釜鏈堜唤鐨勫悕瀛楁潵鍛藉悕銆傚綋鏈夊繀瑕佸熀浜庢墍鏈12涓鏃ュ織琛ㄧ殑鏁版嵁鏉ョ敓鎴愭姤琛锛岃繖鎰忓懗鐫闇瑕佺紪鍐欏苟鏇存柊澶氳〃鏌ヨ锛屼互鍙嶆槧杩欎簺琛ㄤ腑鐨勪俊鎭銆備笌鍏剁紪鍐欒繖浜涘彲鑳藉嚭鐜伴敊璇鐨勬煡璇锛屼笉濡傚皢杩欎簺琛ㄥ悎骞惰捣鏉ヤ娇鐢ㄤ竴鏉℃煡璇锛屼箣鍚庡啀鍒犻櫎Merge琛锛岃屼笉褰卞搷鍘熸潵鐨勬暟鎹锛屽垹闄Merge琛ㄥ彧鏄鍒犻櫎Merge琛ㄧ殑瀹氫箟锛屽瑰唴閮ㄧ殑琛ㄦ病鏈変换浣曞奖鍝嶃
渚嬪傦細璁句綘鏈夊嚑涓鏃ュ織鏁版嵁琛锛屼粬浠鍐呭瑰垎鍒鏄杩欏嚑骞存潵姣忎竴骞寸殑鏃ュ織璁板綍椤癸紝浠栦滑鐨勫畾涔夐兘鏄涓嬮潰杩欐牱锛孻Y浠h〃骞翠唤锛
CREATE TABLE log_YY( dt DATETIME NOT NULL, info VARCHAR(100) NOT NULL, INDEX (dt)) ENGINE = MyISAM; 鍋囪炬棩蹇楁暟鎹琛ㄧ殑褰撳墠闆嗗悎鍖呮嫭 log_2004銆乴og_2005銆乴og_2006銆乴og_2007 锛岃屼綘鍙浠ュ垱寤轰竴涓濡備笅鎵绀虹殑MERGE鏁版嵁琛ㄦ妸浠栦滑褰掓嫝涓轰竴涓閫昏緫鍗曞厓锛
CREATE TABLE log_merge( dt DATETIME NOT NULL, info VARCHAR(100) NOT NULL, INDEX(dt)) ENGINE = MERGE UNION = (log_2004, log_2005, log_2006, log_2007);ENGINE閫夐」鐨勫煎繀椤绘槸MERGE锛孶NION閫夐」鍒楀嚭浜嗗皢琚鏀跺綍鍦ㄨ繖涓狹ERGE鏁版嵁琛ㄧ诲緱鍚勬湁鍏虫暟鎹琛ㄣ傛妸杩欎釜MERGE鍒涘缓鍑烘潵鍚庯紝灏卞彲浠ュ儚瀵瑰緟浠讳綍鍏朵粬鏁版嵁琛ㄩ偅鏍锋煡璇㈠畠锛屽彧鏄姣忎竴娆℃煡璇㈤兘灏嗗悓鏃朵綔鐢ㄤ笌鏋勬垚瀹冪殑姣忎竴涓鎴愬憳鏁版嵁琛 銆
涓嬮潰杩欎釜鏌ヨ㈠彲浠ヨ╂垜浠鐭ラ亾涓婅堪鍑犱釜鏃ュ織鏁版嵁琛ㄧ殑鏁版嵁琛岀殑鎬绘暟锛
SELECT COUNT锛*锛 FROM log_merge;涓嬮潰杩欎釜鏌ヨ㈢敤鏉ョ‘瀹氬湪杩欏嚑骞撮噷姣忓勾鍚勬湁澶氬皯鏃ュ織璁板綍椤癸細
SELECT YEAR(dt) AS y, COUNT(*) AS entries FROM log_merge GROUP BY y; 闄や簡渚夸簬鍚屾椂寮曠敤澶氫釜鏁版嵁琛ㄨ屾棤闇鍙戝嚭澶氭潯鏌ヨ锛孧ERGE鏁版嵁琛ㄨ繕鎻愪緵浜嗕互涓嬩竴浜涗究鍒┿
MERGE鏁版嵁琛ㄥ彲浠ョ敤鏉ュ垱寤轰竴涓灏哄歌秴杩囧悇涓狹yISAM鏁版嵁琛ㄦ墍鍏佽哥殑鏈澶ч暱搴﹂昏緫鍗曞厓
浣犵湅涓鎶婄粡杩囧帇缂╃殑鏁版嵁琛ㄥ寘鎷鍒癕ERGE鏁版嵁琛ㄩ噷銆傛瘮濡傝达紝鍦ㄦ煇涓骞寸粨鏉熶箣鍚庯紝浣犲簲璇ヤ笉浼氬啀寰鐩稿簲鐨勬棩蹇楁枃浠堕噷娣诲姞璁板綍锛屾墍浠ヤ綘鍙浠ョ敤myisampack宸ュ叿鍘嬬缉瀹冧互鑺傜渷绌洪棿锛岃孧ERGE鏁版嵁琛ㄤ粛鍙浠ュ儚寰甯搁偅鏍峰伐浣
MERGE鏁版嵁琛ㄤ篃鏀鎸丏ELETE 鍜孶PDATE鎿嶄綔銆侷NSERT鎿嶄綔姣旇緝楹荤儲锛屽洜涓篗ySQL闇瑕佺煡閬撳簲璇ユ妸鏂版暟鎹琛屾彃鍏ュ埌鍝涓涓鎴愬憳琛ㄩ噷鍘汇傚湪MERGE鏁版嵁琛ㄧ殑瀹氫箟閲屽彲浠ュ寘鎷涓涓狪NSERT_METHOD閫夐」锛岃繖涓閫夐」鐨勫彲鍙栧兼槸NO銆丗IRST銆丩AST锛屼粬浠鐨勫惈涔変緷娆℃槸INSERT鎿嶄綔鏄琚绂佹㈢殑銆佹柊鏁版嵁琛屽皢琚鎻掑叆鍒扮幇鍦║NION閫夐」閲屽垪鍑虹殑绗涓涓鏁版嵁琛ㄦ垨鏈鍚庝竴涓鏁版嵁琛ㄣ傛瘮濡傝达紝浠ヤ笅瀹氫箟灏嗗筶og_merge鏁版嵁琛ㄧ殑INSERT鎿嶄綔琚褰撲綔瀵筶og_2007鏁版嵁琛----瀹冩槸UNION閫夐」鎵鍒楀嚭鐨勬渶鍚庝竴涓鏁版嵁琛锛
CREATE TABLE log_merge( dt DATETIME NOT NULL, info VARCHAR(100) NOT NULL, INDEX(dt)) ENGINE = MERGE UNION = (log_2004, log_2005, log_2006, log_2007) INSERT_METHOD = LAST; 鍒涘缓涓涓鏂扮殑鎴愬憳鏁版嵁琛╨og_2009骞惰╀粬鏈夊悓鏍风殑琛ㄧ粨鏋勶紝鐒跺悗淇鏀筶og_merge鏁版嵁琛ㄦ妸log_2009鍖呮嫭杩涙潵锛
log_2009:
CREATE TABLE log_2009 LIKE log_2008; ALTER TABLE log_merge UNION = (log_2004, log_2005, log_2006, log_2007,log_2008,log_2009);ARCHIVE瀛樺偍寮曟搸
Archive鏄褰掓。鐨勬剰鎬濓紝鍦ㄥ綊妗d箣鍚庡緢澶氱殑楂樼骇鍔熻兘灏变笉鍐嶆敮鎸佷簡锛屼粎浠呮敮鎸佹渶鍩烘湰鐨勬彃鍏ュ拰鏌ヨ涓ょ嶅姛鑳姐傚湪MySQL 5.5鐗堜互鍓嶏紝Archive鏄涓嶆敮鎸佺储寮曪紝浣嗘槸鍦∕ySQL 5.5浠ュ悗鐨勭増鏈涓灏卞紑濮嬫敮鎸佺储寮曚簡銆侫rchive鎷ユ湁寰堝ソ鐨勫帇缂╂満鍒讹紝瀹冧娇鐢▃lib鍘嬬缉搴擄紝鍦ㄨ板綍琚璇锋眰鏃朵細瀹炴椂鍘嬬缉锛屾墍浠ュ畠缁忓父琚鐢ㄦ潵褰撳仛浠撳簱浣跨敤銆
鍥涳細瀛樺偍寮曟搸鐨勯夋嫨
涓嶅悓鐨勫瓨鍌ㄥ紩鎿庨兘鏈夊悇鑷鐨勭壒鐐癸紝浠ラ傚簲涓嶅悓鐨勯渶姹傦紝濡備笅琛ㄦ墍绀猴細
鍔 鑳
濡傛灉瑕佹彁渚涙彁浜ゃ佸洖婊氥佸穿婧冩仮澶嶈兘鍔涚殑浜嬬墿瀹夊叏锛圓CID鍏煎癸級鑳藉姏锛屽苟瑕佹眰瀹炵幇骞跺彂鎺у埗锛孖nnoDB鏄涓涓濂界殑閫夋嫨銆傚傛灉鏁版嵁琛ㄤ富瑕佺敤鏉ユ彃鍏ュ拰鏌ヨ㈣板綍锛屽垯MyISAM寮曟搸鑳芥彁渚涜緝楂樼殑澶勭悊鏁堢巼銆傚苟涓旓紝濡傛灉浣犵殑搴旂敤绋嬪簭瀵规煡璇㈡ц兘瑕佹眰杈冮珮锛屽氨瑕佷娇鐢∕YISAM浜嗐侻YISAM绱㈠紩鍜屾暟鎹鏄鍒嗗紑鐨勶紝鑰屼笖鍏剁储寮曟槸鍘嬬缉鐨勶紝鍙浠ユ洿濂藉湴鍒╃敤鍐呭瓨銆傛墍浠ュ畠鐨勬煡璇㈡ц兘鏄庢樉浼樹簬INNODB銆傚帇缂╁悗鐨勭储寮曚篃鑳借妭绾︿竴浜涚佺洏绌洪棿銆侻YISAM鎷ユ湁鍏ㄦ枃绱㈠紩鐨勫姛鑳斤紝杩欏彲浠ユ瀬澶у湴浼樺寲LIKE鏌ヨ㈢殑鏁堢巼銆傚傛灉鍙鏈塈NSERT鍜孲ELECT鎿嶄綔锛屽彲浠ラ夋嫨Archive锛孉rchive鏀鎸侀珮骞跺彂鐨勬彃鍏ユ搷浣滐紝浣嗘槸鏈韬涓嶆槸浜嬪姟瀹夊叏鐨勩侫rchive闈炲父閫傚悎瀛樺偍褰掓。鏁版嵁锛屽傝板綍鏃ュ織淇℃伅鍙浠ヤ娇鐢ˋrchive銆傚规棩蹇楃殑涓浜涚患鍚堟搷浣滐紝閫氬父浣跨敤鐨勬槸MERGE瀛樺偍寮曟搸銆備竴鑸鍦ㄤ互涓嬪嚑绉嶆儏鍐典笅浣跨敤Memory瀛樺偍寮曟搸锛 1锛夌洰鏍囨暟鎹杈冨皬锛岃屼笖琚闈炲父棰戠箒鍦拌块棶銆傚湪鍐呭瓨涓瀛樻斁鏁版嵁锛屾墍浠ヤ細閫犳垚鍐呭瓨鐨勪娇鐢锛屽彲浠ラ氳繃鍙傛暟max_heap_table_size鎺у埗Memory琛ㄧ殑澶у皬锛岃剧疆姝ゅ弬鏁帮紝灏卞彲浠ラ檺鍒禡emory琛ㄧ殑鏈澶уぇ灏忋
2锛夊傛灉鏁版嵁鏄涓存椂鐨勶紝鑰屼笖瑕佹眰蹇呴』绔嬪嵆鍙鐢锛岄偅涔堝氨鍙浠ュ瓨鏀惧湪鍐呭瓨琛ㄤ腑銆
3锛夊瓨鍌ㄥ湪Memory琛ㄤ腑鐨勬暟鎹濡傛灉绐佺劧涓㈠け锛屼笉浼氬瑰簲鐢ㄦ湇鍔′骇鐢熷疄璐ㄧ殑璐熼潰褰卞搷銆
4锛夊傛灉鍙鏄涓存椂瀛樻斁鏁版嵁锛屾暟鎹閲忎笉澶э紝骞朵笖涓嶉渶瑕佽緝楂樼殑鏁版嵁瀹夊叏鎬э紝鍙浠ラ夋嫨灏嗘暟鎹淇濆瓨鍦ㄥ唴瀛樹腑鐨凪emory寮曟搸锛孧ySQL涓浣跨敤璇ュ紩鎿庝綔涓轰复鏃惰〃锛屽瓨鏀炬煡璇㈢殑涓闂寸粨鏋溿
浜旓細鎬荤粨
鍦ㄥ规暟鎹搴撹繘琛岃捐℃椂锛屼娇鐢ㄥ摢涓绉嶅紩鎿庨渶瑕佺伒娲婚夋嫨锛屼竴涓鏁版嵁搴撲腑涓嶅悓琛ㄥ彲浠ヤ娇鐢ㄤ笉鍚屽紩鎿庝互婊¤冻鍚勭嶆ц兘鍜屽疄闄呴渶姹傦紝浣跨敤鍚堥傜殑瀛樺偍寮曟搸锛屽皢浼氬ぇ澶ф彁楂樻暣涓鏁版嵁搴撶殑鎬ц兘銆
鍙傝冨崥瀹锛歨ttps://www.cnblogs.com/wcwen1990/p/6655416.html————————————————鐗堟潈澹版槑锛氭湰鏂囦负CSDN鍗氫富銆寃eb娲嬩粩銆嶇殑鍘熷垱鏂囩珷锛岄伒寰 CC 4.0 BY-SA 鐗堟潈鍗忚锛岃浆杞借烽檮涓婂師鏂囧嚭澶勯摼鎺ュ強鏈澹版槑銆傚師鏂囬摼鎺ワ細https://blog.csdn.net/CSDN___LYY/article/details/80844606
[杞甯朷mysql甯哥敤瀛樺偍寮曟搸(InnoDB銆丮yISAM銆丮EMORY銆丮ERGE銆丄RCHIVE)浠嬬粛涓庡備綍閫夋嫨
鏍囩撅細鎴愬憳鏁版嵁鏍煎紡骞昏籺reelike涓婚敭鍏ㄦ枃鎼滅储arc
『贰』 在visual foxpro中,在表设计器中建立的索引都存放在扩展名为什么的索引文件中
在表设计器中建立的索引都存放在扩展名为.idx和.cdx文件中。
其中单索引在.idx文件中,复合索引在.cdx文件中。
附上各个扩展名对应的内容:
向导操作图的文档 .act
生成的应用程序或Active Document .app
备份文件 .bak
复合索引文件 .cdx
编译的HTML Help .chm
数据库文件 .dbc
数据表文件 .dbf
调试器配置 .dbg
数据库备注文件 .dct
数据库索引文件 .dcx
相关文件(由“安装向导”创建 .dep
编辑错误 .err
Visual FoxPro 支持的库 .esl
可执行文件 .exe
宏 .fky
FoxPro动态链接库 .fll
格式文件 .fmt
表备注 .fpt
报表备注 .frt
报表格式文件 .frx
编辑后的程序 .fxp
头文件 .h
WinHelp .hlp
单索引文件 .idx
标签备注 .lbt
标签文件 .lbx
代码范围日志 .log
向导列表的文档 .lst
内存变量文件 .mem
菜单备注 .mnt
菜单文件 .mnx
生成的菜单程序 .mpr
编译后的菜单程序 .mpx
ActiveX控件 .ocx
项目备注 .pjt
项目文件 .pjx
程序文件 .prg
生成的查询程序 .qpr
编译后的查询程序 .qpx
表单文件 .scx
生成的屏幕程序 .spr
编辑后的屏幕程序 .spx
备注备份 .tbk
文本文件 .txt
可视类库备注 .vct
可视类库 .vcx
FoxPro视图 .vue
窗口文件 .win
表单备注 .sct
Visual FoxPro简称VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。Visual FoxPro源于美国Fox Software公司推出的数据库产品FoxBase,在DOS上运行,与xBase系列相容。FoxPro原来是FoxBase的加强版,最高版本曾出过2.6。之后,Fox Software被微软收购,加以发展, 使其可以在 Windows 上运行, 并且更名为 Visual FoxPro。目前最新版为 Visual FoxPro 9.0,而在学校教学和教育部门考证中还依然延用经典版的 Visual FoxPro 6.0。在桌面型数据库应用中,处理速度极快,是日常工作中的得力助手。
『叁』 index是什么视频格式
index是索引文件视频格式。当作为文件名扩展名出现时,文本字符串index的作用是指出有关文件实际上是某种索引,表示一种非常通用的索引文件index文件类型。
index格式的内容介绍:
1、在计算中,索引用于编制实际数字内容的快速搜索数据库,而实际数字内容的大小通常要大得多,搜索起来很困难或很慢。索引index等可以快速搜索和管理大型数据阵列,以及监视和控制数据恢复操作等信息密集型过程。
2、index文件是计算机程序为其目的而创建的索引。除了通用的index扩展名外,其他扩展名也可用于索引文件。根据应用程序的不同,索引文件可能有各种内部格式,从纯文本到复杂的二进制结构。索引文件只有在与索引内容成对的情况下才有意义和实际作用。通常情况下,所有的索引文件index等都是由相关软件自动创建和维护的,用户无需任何手动操作。
以上内容参考:网络-index
『肆』 vf中, .cdx 和 .prg 分别是什么文件的后缀
VFP 常用的文件扩展名及其关联的文件类型
.cdx 复合索引,
.prg是foxbase/foxpro的程序文件.
.app 生成的应用程序 .frx 报表
.exe 可执行程序 .frt 报表备注
.pjx 项目 .lbx 标签
.pjt 项目备注 .lbt 标签备注
.dbc 数据库 .prg 程序
.dct 数据库备注 .fxp 编译后的程序
.dcx 数据库索引 .err 编译错误
.dbf 表 .mnx 菜单
.fpt 表备注 .mnt 菜单备注
『伍』 单项索引文件的扩展名是什么
vf中~结构复合索引文件的扩展名和非结构复合索引文件的扩展名分别是
tfr
egf
『陆』 mysql的idb后缀文件是什么·
MySQL有不少存储来引擎,它们的文件自格式不太一样。
共同的是它们的表定义文件都是frm结尾的。
比如flow.frm表示表flow的定义。
我说下Innodb和MyISAM两种引擎吧。
对于MyISAM,其索引和数据是分开的,索引文件后缀名是MYD,数据文件后缀名是MYI。
对于Inoodb,索引和数据都在同个文件,ibdata.
具体的可以查MySQL参考手册(有中文版
『柒』 vf中,索引文件的类型有两种,分别是什么呀
Visual FoxPro系统中支持两种不同的索引文件类型,即单索引文回件和复合索引文件。
单索引文件是根据一个答索引关键字表达式(或关键字)建立的索引文件,文件扩展名为.IDX,它可用INDEX命令的各种形式建立。单索引文件分为标准和压缩两种类型。
复合索引文件是指索引文件中可以包含多个索引标识的扩展名为.CDX。每个索引标识与单索引文件类似,也可以根据一个索引关键字表达式(或关健字)建立。每一个索引标识均有一个特殊的标识名(TAG)。标识名由字母或下划线开头,由字母、数字或下划线组成,长度不超过10个字符。用户可以利用标识名来使用标识,向复合索引文件中追加标识。复合文件中标识的数目,仅受内存和磁盘空间的限制