Uyiguqula njani ibhetshi yedatha yeMySQL ukusuka kwiMyISAM ukuya kwi-injini yokugcina ye-InnoDB?

Kweli nqaku, siza kuhlola iindlela ezilungileyo zokuguqula iinjini zokugcina zeMyISAM zibe yi-InnoDB kwiidathabheyisi zeMySQL .

Siza kukukhokela inyathelo ngenyathelo kwinkqubo yokuguqula kwaye sikunike iingcebiso eziluncedo kunye namaqhinga okuqinisekisa ukuba yenziwa ngokufanelekileyo nangokukhuselekileyo.

Nokuba ungumlawuli wedatha okanye umphuhlisi, esi sikhokelo siya kukunceda uqonde umahluko phakathi kwe-MyISAM kunye ne-InnoDB, kwaye kutheni ukuguqula kwi-InnoDB kubalulekile ekuphuculeni ukusebenza kunye nokuphucula ukuthembeka kwedatha.

Ngokulandela amanyathelo ethu aneenkcukacha, uya kukwazi ukuguqula ngokulula isiseko sakho sedatha seMySQL sibe yinjini yokugcina ye-InnoDB, ngaloo ndlela uphucule ukusebenza kwaye uqinisekise ukhuseleko lwedatha kunye nokuthembeka kwayo.

Uyiguqula njani ibhetshi yedatha yeMySQL ukusuka kwiMyISAM ukuya kwi-injini yokugcina ye-InnoDB?

Kwinkqubo yedatha ye-MySQL, i-MyISAM kunye ne-InnoDB ziinjini ezimbini eziqhelekileyo zokugcina. I-MyISAM iyakhawuleza kwaye ifanelekile kwiimeko ezinomsebenzi wokufunda okuninzi.

I-InnoDB ixhasa ukuthengiselana, izitshixo zangaphandle, kunye nokutshixa inqanaba lomqolo, kwaye ifanelekile ngakumbi kwizicelo ezifuna ingqibelelo yedatha kunye nolawulo lwemali. Ke, kufuneka senze ntoni xa sifuna ukuguqula iitafile zeMyISAM kwi-InnoDB?

Kutheni uguqulela iMyISAM ibe yi-InnoDB?

Okokuqala, makhe sithethe malunga nokuba kutheni sisenza olu tshintsho.

Nangona i-MyISAM inokusebenza kakuhle, ineziphene kukhuseleko lwedatha kunye nokusetyenzwa ngaxeshanye.

I-InnoDB inikezela ngenkxaso yentengiselwano, enokuqinisekisa ukuhambelana kwedatha kunye nokusingatha iimeko eziphezulu ze-concurrency.

1. Ukunyaniseka kweDatha: I-InnoDB ixhasa iintengiselwano, ezivumela imisebenzi yokubuyisela idatha ngasemva kwaye ziqinisekise ukuhambelana kwedatha.

2. Ulawulo lwe-Concurrency: I-InnoDB isebenzisa ukutshixa kwinqanaba lemigca, okufanelekileyo kwizicelo ze-concurrency ephezulu.

3. Inkxaso yeZitshixo zaNgaphandle: I-InnoDB ixhasa izitshixo zangaphandle, nto leyo enokuqinisekisa ukuthembeka kwedatha.

Indlela yokuguqula i-MyISAM kwi-InnoDB

Singasebenzisa isitatimenti esinye seSQL ukuvelisa iingxelo zoguqulo kuzo zonke iitafile kwaye emva koko sizenze zonke ngaxeshanye.

Oku kuvakala kunzima, kodwa eneneni kulula kakhulu. Amanyathelo nje ambalwa.

Inyathelo 1: Khetha isiseko sedatha

Okokuqala, qiniseka ukuba ukhethe isiseko sedatha ofuna ukusebenza kuso. Le miyalelo ilandelayo ingasetyenziswa:

mysql
USE 你要操作的数据库名;

Inyathelo lesi-2: Veza iingxelo zoguqulo

Okulandelayo, kufuneka sivelise iingxelo zeSQL eziguqula zonke iitafile ze-MyISAM kwiitafile ze-InnoDB.

Oku kunokwenziwa ngokubuza information_schema.tables itheyibhile ukufikelela.

Yenza le ngxelo ilandelayo yeSQL:

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

Le nkcazo ivelisa isethi yeengxelo ze-ALTER TABLE ezitshintsha injini yokugcina yetafile nganye ye-MyISAM kwi-InnoDB.

Inyathelo lesi-3: Yenza ingxelo yoguqulo

Khuphela isiphumo esenziwe kwinyathelo elidlulileyo, kwaye i-AI inokusinceda sihluze imida ngokulula.

Faka oku kulandelayo kwi -ChatGPT :

请帮我过滤以下边框:

+--------------------------------------------------------------+
| ALTER TABLE table1 ENGINE=InnoDB; |
| ALTER TABLE table2 ENGINE=InnoDB; |
| ALTER TABLE table3 ENGINE=InnoDB; |
+--------------------------------------------------------------+

Emva koko, xa iqhutywa kwi-MySQL, i-MySQL iya kuphumeza ezi nkcazo ze-ALTER TABLE ngokulandelelana ukuguqula zonke iitafile ze-MyISAM kwiitafile ze-InnoDB.

Umzekelo

Cinga ukuba isiseko sedatha ofuna ukusisebenza sinegama example_db, yenza la manyathelo alandelayo:

  1. Khetha uvimba weenkcukacha:
USE example_db;
  1. Yenza ingxelo yoguqulo:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') 
FROM information_schema.tables 
WHERE table_schema="example_db" AND ENGINE="MyISAM";
  1. Khuphela inkcazo eyenziweyo kwaye uyisebenzise kwi-MySQL:
ALTER TABLE table1 ENGINE=InnoDB;
ALTER TABLE table2 ENGINE=InnoDB;

Izilumkiso

Ngaphambi kokwenza lo msebenzi wokuguqula ibhetshi, kukho amanqaku ambalwa ekufuneka uwaqaphele:

1. Ugcino lweDatha: Ngaphambi kokuba wenze ukuguqulwa kwebhetshi, qiniseka ukuba ugcino olupheleleyo lwedatha luyenziwa ukuze kuthintelwe ukulahleka kwedatha.

2. Indawo yovavanyo: Kungcono ukuvavanya kwindawo yovavanyo kuqala ukuqinisekisa ukuba inkqubo yokuguqula ayizukuchaphazela ukusebenza okuqhelekileyo kwesicelo.

3. Iimvume zedathabheyisi: Qinisekisa ukuba unemvume eyaneleyo yedathabheyisi yokwenza umsebenzi we-ALTER TABLE.

ukuququmbela

Ngala manyathelo angasentla, sinokuguqula ngokulula zonke iitafile ze-MyISAM kwi-database ye-MySQL kwiitafile ze-InnoDB. Ukwenza oko akunako nje ukuphucula amandla okusebenza ngaxeshanye kwisiseko sedatha, kodwa kwandise ukhuseleko kunye nokuthembeka kwedatha.

Ndiyathemba ukuba eli nqaku linokukunceda uqonde ngcono kwaye usebenzise i-database ye-MySQL. Ukuba unayo nayiphi na imibuzo okanye iingcebiso, nceda ushiye umyalezo kwindawo yokuphawula.

Yiyo yonke into malunga nokuguqulwa kwebhetshi yeMyISAM kwi-InnoDB. Ngoku ungayizama!

🔧💡Ngaba ufuna ukwazi indlela yokuguqula iintlobo zeetafile ze-InnoDB zibe yi-injini ye-MyISAM eqhelekileyo usebenzisa i-phpMyAdmin ? Eli nqaku libonelela ngamanyathelo aneenkcukacha kunye nesikhokelo sokukunceda ugqibezele lula ukuguqulwa!

👇Iyacetyiswa ukuba uqhubeke ufunda👇

Cofa ikhonkco ukuze ufunde ngakumbi izakhono zokuguqula ugcino lwedatha kwaye ukwandise ulawulo lwakho lwedathabheyisi! 📚💻

Shiya uluvo

您的邮箱地址不会被公开。必填项已用*标注

Skrolela phezulu