Sidee loo habeeyaa xogta MySQL/MariaDB si loogu beddelo jadwalka InnoDB una beddelo jadwalka MyISAM?

Mashiinka kaydinta ee miiska kaydka xogta wuxuu la mid yahay matoorka gaariga; beddelka matoorka isla markiiba wuxuu beddelaa waxqabadka iyo astaamaha. Dad badan ayaa u maleynaya in kaydka xogta uu yahay oo keliya kaydinta xogta, laakiin marka aad dhab ahaantii bilowdo inaad ka shaqeyso... InnoDB 转成 MIISAMMarkaas ayaad ogaan doontaa sirta qarsoon ee ka dambeysa.

Maxaa qof u doonayaa inuu ka beddelo InnoDB una beddelo MyISAM?

Xaalado badan, MyISAM way ka dhakhso badan tahay, gaar ahaan codsiyada akhriska culus iyo kuwa fudud sida log iyo tirakoobka xogta.

Habka qufulka heerka miiska ayaa dhab ahaantii si aad u habsami leh u shaqeeya iyadoo aan la isku hallayn karin.

Intaa waxaa dheer, kaydinta faylasha MyISAM waa mid aad u dareen badan; .MYD Xogta kaydi, mid .MYI Kaydinta tusmooyinka, u guurista, iyo kaydinta dhammaantood aad bay ugu habboon yihiin.

Si kastaba ha ahaatee, macaamilka InnoDB iyo taageerada muhiimka ah ee shisheeye waa ku dhawaad ​​​​baahida xaaladaha ganacsiga ee adag.

Sidaa darteed, waa inaad ogaataa in ganacsigaagu uu dhab ahaantii u baahan yahay sifooyinkan ka hor intaadan sameynin kala-guurka.

Amarka asaasiga ah: BEDDEL TABLE

Si aad hal miis uga beddesho InnoDB una beddesho MyISAM, waxaad u baahan tahay hal sadar oo kood ah oo keliya:

ALTER TABLE `你的表名` ENGINE = MyISAM;

Marka fulinta la dhammeeyo, matoorka kaydinta miiska ayaa la beddeli doonaa.

Miyaanay taasi toos ahayn?

Beddelka Dufcadda: Soo saarista qoraalka tooska ah

Haddii aad haysato daraasiin ama xitaa boqolaal miisas, wax ka beddelka gacanta hubaal ma aha mid wax ku ool ah.

Waqtigan xaadirka ah, hal su'aal ayaa loo isticmaali karaa in si toos ah loogu soo saaro weedhaha beddelka dufcadda:

SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE = MyISAM;') 
FROM information_schema.tables 
WHERE table_schema = '你的数据库名' AND engine = 'InnoDB';

Ka dib marka la ordo, waxay soo saari doontaa tiro badan oo... ALTER TABLE ... Bayaanka.

Nuqul ka samee weedhahan oo dhammaantood hal mar ku fuli si aad u dhammaystirto beddelka dufcadda hal mar.

Kani waa waxa loo yaqaan "beddelka dufcadda otomaatiga ah".

Qiimaynta khatarta ka hor beddelka

Sidee loo habeeyaa xogta MySQL/MariaDB si loogu beddelo jadwalka InnoDB una beddelo jadwalka MyISAM?

Xayiraadaha muhiimka ah ee shisheeye

InnoDB waxay taageertaa furayaasha shisheeye, halka MyISAM aysan haba yaraatee taageerin.

Marka la beddelo, xayiraadaha muhiimka ah ee shisheeye si toos ah ayaa loo tuuri doonaa.

Haddii ganacsigaagu ku tiirsan yahay tirtiridda ama cusbooneysiinta cascading, macquulku gebi ahaanba wuu fashilmi doonaa ka dib beddelka.

Taageerada macaamil ganacsi

InnoDB waxay leedahay macaamil ganacsi waxayna taageertaa. COMMIT Oo ROLLBACK.

MyISAM ma laha wax kala iibsi, kaliya waxay leedahay qufullo heer-miiska ah.

Ka dib beddelka, dhammaan koodhka la xiriira macaamil ganacsiyeedku wuu ansax noqon doonaa, dib u soo celintuna waxay noqon doontaa mid aan macquul ahayn haddii ay dhacdo ka reebitaan.

Waxqabadka iswaafajinta

InnoDB waxay isticmaashaa quful heer-saf ah, halka MyISAM ay isticmaasho quful heer-saf ah.

Xaaladaha isku dheelitirka sare leh, MyISAM waxay si joogto ah u xirtaa miisaska, taasoo keenta caqabado waxqabad.

Astaamaha Tusmada

Gudaha MySQL Kahor nooca 5.6, MyISAM waxay lahayd tusmada qoraalka oo dhammaystiran.

Laakiin MySQL Tusmada qoraalka oo dhammaystiran ayaa horey loogu taageeray noocyada 5.6 iyo 10+ ee MariaDB iyo InnoDB.

Sidaa darteed, haddii aadan isticmaaleyn nooc hore, looma baahna inaad u wareegto MyISAM si aad u hesho tusmada qoraalka oo dhan.

Habka Ku Dhaqanka Ugu Fiican

  1. Xogta kaydinta Kahor intaadan beddelin, hubi inaad dhoofiso. .sql Faylasha waa la keydiyaa si loo hubiyo in la soo celin karo wakhti kasta.

  2. Qaab-dhismeedka Liiska Hubinta Adeegso amarka soo socda si aad u hubiso haddii uu jiro fure shisheeye:

    SHOW CREATE TABLE `你的表名`;
    
  3. Samee beddelka 使用 ALTER TABLE Haddii kale, qoraallada dufcadda ayaa loo isticmaali karaa si loo dhammaystiro beddelka.

  4. Hubi xaaladda caafimaad Ka dib marka beddelka la dhammeeyo, socodsii:

    CHECK TABLE `你的表名`;
    OPTIMIZE TABLE `你的表名`;
    

    Tani waxay xaqiijinaysaa in jadwalku si sax ah u shaqeynayo wuxuuna sii daayaa jajabyo.

Habka soo kabashada dib u noqoshada

Haddii la arko hoos u dhac ku yimaada waxqabadka ama arrimaha macquulka ganacsiga ka dib beddelka, waxaad dib ugu laaban kartaa InnoDB wakhti kasta:

ALTER TABLE `你的表名` ENGINE = InnoDB;

Kani waa waxa loo yaqaan "hawlgalka la rogi karo," kaasoo ku siinaya waddo aad kaga baxdo.

Aragtiyo awood leh oo la soo xigtay

Sida laga soo xigtay Dukumentiyada Rasmiga ah ee MySQL Sharaxaad:

"Qorshaha furaha shisheeye"aints waxaa taageera oo keliya InnoDB. Haddii aad jadwal u beddesho MyISAM, dhammaan furayaasha shisheeye waa la iska indho tiri doonaa.
——Buugga Tixraaca MySQL, Cutubka 14.6.6 Xaddidaadaha Muhiimka ah ee Dibadda

Hadalkani wuxuu si cad noo sheegayaa in furayaasha shisheeye ay gebi ahaanba aan sax ahayn MyISAM.

iyo Dukumentiyada Rasmiga ah ee MariaDB Waxaa sidoo kale lagu nuuxnuuxsaday in:

"MyISAM ma taageerto macaamil ganacsi. Codsiyada ku tiirsan hufnaanta macaamil ganacsi waa inaysan isticmaalin MyISAM."
——Saldhigga Aqoonta MariaDB, Matoorada Kaydinta

Taasi waa sababta ay tahay inaad laba jeer ka fikirto ka hor intaadan beddelin.

Aragtidayda iyo Gunaanadkayga

Beddelidda InnoDB una beddelashada MyISAM waxay la mid tahay beddelka matoorka gaari raaxo leh oo lagu beddelayo matoor xamuul xamuul ah.

Way shaqayn kartaa, laakiin si gebi ahaanba ka duwan ayay u shaqaysaa.

Haddii ganacsigaagu ku lug leeyahay su'aalo tirakoob oo fudud, xawaaraha iyo fududaanta MyISAM ayaa laga yaabaa inay ku habboon tahay.

Si kastaba ha ahaatee, haddii nidaamkaagu ku tiirsan yahay macaamil ganacsi iyo furayaasha shisheeye, si degdeg ah u beddelkoodu waxay la mid tahay ka saarista barkinta hawada.

Sidaa darteed, xigmadda dhabta ah kuma jirto raadinta xawaaraha si indho la'aan ah, laakiin waxay ku jirtaa dheelitirka xasilloonida iyo waxqabadka.

Doorashada kaydka xogta ayaa go'aamisa nafta nidaamka.

Xirfadaha lagu barto beddelka matoorada kaydinta ma aha oo kaliya muujinta kartida farsamo, laakiin sidoo kale waa kor u kaca fikirka dhismaha.

Haddii aad ka fiirsaneyso beddelka tirada badan, fadlan marka hore samee qiimeyn khatar oo dhammaystiran.

Hal mar ku socodsii jawiga tijaabada si aad u matasho xaaladaha ganacsiga dhabta ah.

Ka dib markaad xaqiijiso in wax walba sax yihiin, ku fuliso jawiga wax soo saarka.

Kaydka xogtu maaha alaabta carruurtu ku ciyaarto; waa wadnaha xogta ganacsiga.

Adigana waa kan xakameeya laxanka wadnahaaga.

评论

Ciwaanka emailkaaga lama daabici doono 项 已 用 * Calaamadda

Tusaha Maqaalka
Scroll to top