Pehea e hoʻonohonoho ai i nā ʻikepili MySQL/MariaDB e hoʻololi i nā papa InnoDB i nā papa MyISAM?

Ua like ka ʻenekini mālama o kahi papa ʻikepili me ka ʻenekini o ke kaʻa; ʻo ka hoʻololi ʻana i ka ʻenekini e hoʻololi koke i ka hana a me nā ʻano. Manaʻo ka poʻe he nui he waihona ʻikepili wale nō no ka mālama ʻana i ka ʻikepili, akā i ka wā e hoʻomaka ai ʻoe e hana ma luna... InnoDB 转成 MyISAMA laila wale nō ʻoe e ʻike ai i nā mea huna ma hope ona.

No ke aha e makemake ai kekahi e hoʻololi mai InnoDB a i MyISAM?

I nā hiʻohiʻona he nui, ʻoi aku ka wikiwiki o MyISAM, ʻoi aku hoʻi no nā noi heluhelu kaumaha a me nā noi kākau māmā e like me nā waihona ʻikepili log a me nā helu helu.

Holo mālie loa kāna ʻano laka pae papaʻaina ma lalo o ka haʻahaʻa like ʻana.

Eia kekahi, ʻoi aku ka maʻalahi o ka mālama ʻana i nā faila o MyISAM; hoʻokahi .MYD E mālama i ka ʻikepili, hoʻokahi .MYI He mea maʻalahi loa ka mālama ʻana i nā papa kuhikuhi, ka neʻe ʻana, a me ke kākoʻo ʻana.

Eia nō naʻe, ʻaneʻane pono ka hana a InnoDB a me ke kākoʻo kī haole i nā hiʻohiʻona ʻoihana paʻakikī.

No laila, pono ʻoe e noʻonoʻo inā pono maoli kāu ʻoihana i kēia mau hiʻohiʻona ma mua o ka hana ʻana i ka hoʻololi.

Kauoha koʻikoʻi: ALTER TABLE

No ka hoʻololi ʻana i hoʻokahi papa mai InnoDB a i MyISAM, hoʻokahi laina code wale nō kāu e pono ai:

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

Ma hope o ka pau ʻana o ka hoʻokō ʻana, e hoʻololi ʻia ka ʻenekini mālama o ka papaʻaina.

ʻAʻole anei he pololei kēlā?

Hoʻololi pūʻulu: Hana ʻana i ka palapala hana aunoa

Inā he mau ʻumi a he mau haneli paha kāu mau papa, ʻaʻole pono ka hoʻololi lima ʻana iā lākou.

I kēia manawa, hiki ke hoʻohana ʻia kahi nīnau hoʻokahi e hana aunoa i nā ʻōlelo hoʻololi batch:

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

Ma hope o ka holo ʻana, e hoʻopuka ʻia kahi pūʻulu o ... ALTER TABLE ... ʻŌlelo.

E kope i kēia mau ʻōlelo a hoʻokō iā lākou a pau i ka manawa hoʻokahi e hoʻopau i ka hoʻololi ʻana o ka pūʻulu i hoʻokahi manawa.

ʻO kēia ka mea i kapa ʻia ʻo "automated batch conversion".

Ka loiloi pilikia ma mua o ka hoʻololi ʻana

Pehea e hoʻonohonoho ai i nā ʻikepili MySQL/MariaDB e hoʻololi i nā papa InnoDB i nā papa MyISAM?

Nā palena kī haole

Kākoʻo ʻo InnoDB i nā kī haole, ʻoiai ʻaʻole kākoʻo iki ʻo MyISAM iā lākou.

Ke hoʻololi ʻia, e hoʻolei pololei ʻia nā palena kī haole.

Inā hilinaʻi kāu ʻoihana i nā holoi a i ʻole nā ​​​​mea hou, e hāʻule loa ka logic ma hope o ka hoʻololi ʻana.

Kākoʻo hana

Loaʻa iā InnoDB nā hana a kākoʻo iā lākou. COMMIT a ROLLBACK.

ʻAʻohe hana kālepa a MyISAM, nā laka pae papaʻaina wale nō.

Ma hope o ka hoʻololi ʻana, e lilo nā code āpau e pili ana i nā hana i mea ʻole, a ʻaʻole hiki ke hoʻihoʻi i ka wā e loaʻa ai kahi ʻokoʻa.

Hana like ʻana

Hoʻohana ʻo InnoDB i ka laka pae lālani, ʻoiai ʻo MyISAM e hoʻohana i ka laka pae papaʻaina.

I nā hiʻohiʻona concurrency kiʻekiʻe, hoʻopaʻa pinepine ʻo MyISAM i nā papaʻaina, e alakaʻi ana i nā bottlenecks hana.

Nā hiʻohiʻona papa kuhikuhi

I MySQL Ma mua o ka mana 5.6, ua loaʻa iā MyISAM kāna papa kuhikuhi kikokikona piha ponoʻī.

Akā i loko MySQL Ua kākoʻo mua ʻia ka papa kuhikuhi kikokikona piha i nā mana 5.6 a me 10+ o MariaDB lāua ʻo InnoDB.

No laila, ke ʻole ʻoe e hoʻohana nei i kahi mana kahiko, ʻaʻohe pono e hoʻololi i MyISAM no ka helu ʻana i nā kikokikona piha.

Kaʻina Hana Maikaʻi Loa

  1. ʻIkepili kope Ma mua o ka hoʻololi ʻana, e hōʻoia e hoʻokuʻu aku. .sql Ua mālama ʻia nā faila i hiki ke hoʻihoʻi ʻia i kēlā me kēia manawa.

  2. ʻAno o ka Papa Inoa E hoʻohana i ke kauoha ma lalo nei e nānā inā loaʻa kahi kī haole:

    SHOW CREATE TABLE `你的表名`;
    
  3. Hana i ka hoʻololi ʻana 使用 ALTER TABLE ʻOkoʻa, hiki ke hoʻohana ʻia nā script batch e hoʻopau i ka hoʻololi ʻana.

  4. E nānā i ke kūlana olakino Ma hope o ka pau ʻana o ka hoʻololi ʻana, e holo:

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

    Hōʻoia kēia e hana pololei ana ka papaʻaina a hoʻokuʻu i nā ʻāpana.

Ke ʻano hoʻōla hoʻihoʻi

Inā ʻike ʻia ka hōʻemi ʻana o ka hana a i ʻole nā ​​​​pilikia logic ʻoihana ma hope o ka hoʻololi ʻana, hiki iā ʻoe ke hoʻi i InnoDB i kēlā me kēia manawa:

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

ʻO kēia ka mea i kapa ʻia ʻo "hana hoʻohuli," e hāʻawi ana iā ʻoe i kahi ala e puka ai.

Nā manaʻo kūhelu i ʻōlelo ʻia

Wahi a Palapala Kūhelu MySQL Wehewehena:

"Kāohi kī haole"aiʻO InnoDB wale nō ke kākoʻo nei i nā nts. Inā ʻoe e hoʻololi i kahi papa i MyISAM, e hoʻowahāwahā ʻia nā kī haole āpau.
——Puke Kuhikuhi MySQL, Mokuna 14.6.6 Nā Palena Kī Haole

Hōʻike maopopo kēia ʻōlelo iā mākou ʻaʻole kūpono loa nā kī haole ma MyISAM.

a Palapala Kūhelu o MariaDB Ua hoʻomaopopo pū ʻia hoʻi:

ʻAʻole kākoʻo ʻo MyISAM i nā hana kālepa. ʻAʻole pono e hoʻohana nā polokalamu e hilinaʻi nei i ka pono o ka hana kālepa i ka MyISAM.
——Kahua ʻIke MariaDB, Nā ʻenekini mālama

ʻO ia ke kumu e pono ai ʻoe e noʻonoʻo ʻelua ma mua o ka hana ʻana i kahi hoʻololi.

Koʻu Manaʻo a me ka Hopena

ʻO ka hoʻololi ʻana iā InnoDB i MyISAM ua like ia me ka hoʻololi ʻana i ka ʻenekini o kahi kaʻa kaʻa nani me kahi ʻenekini kalaka.

Hiki iā ia ke holo, akā holo ia ma ke ʻano ʻokoʻa loa.

Inā pili kāu ʻoihana i nā nīnau helu māmā, ʻoi aku ka kūpono o ka wikiwiki a me ka maʻalahi o MyISAM.

Eia nō naʻe, inā hilinaʻi kāu ʻōnaehana i nā hana kālepa a me nā kī haole, ʻo ka hoʻololi wikiwiki ʻana iā lākou e like me ka wehe ʻana i ka ʻeke ea.

No laila, ʻaʻole ka naʻauao maoli i ka hahai makapō ʻana i ka wikiwiki, akā, i ke kaulike ʻana i ke kūpaʻa a me ka hana.

ʻO ke koho ʻana o ka waihona ʻikepili e hoʻoholo i ka ʻuhane o ka ʻōnaehana.

ʻO ke akamai ʻana i nā mākau o ke kuapo ʻana i nā ʻenekini mālama ʻaʻole wale ia he hōʻike o ka mākaukau loea, akā, he hoʻokiʻekiʻe ʻana hoʻi i ka noʻonoʻo kuhikuhipuʻuone.

Inā ʻoe e noʻonoʻo ana i ka hoʻololi nui ʻana, e ʻoluʻolu e hana mua i kahi loiloi pilikia piha.

E holo i ke kaiapuni hoʻāʻo i hoʻokahi manawa e hoʻohālike i nā hiʻohiʻona ʻoihana maoli.

Ma hope o ka hōʻoia ʻana ua pololei nā mea āpau, e hoʻokō i ke kauoha ma ke kaiapuni hana.

ʻAʻole he mea pāʻani nā ʻikepili; ʻo lākou ka puʻuwai o ka ʻikepili ʻoihana.

A ʻo ʻoe nō ka mea e hoʻokele ana i ka leo o kou puʻuwai.

评论

ʻAʻole e paʻi ʻia kāu leka uila. Hoʻohana ʻia nā kahua koi * Label

Papa Kuhikuhi ʻatikala
Pepa la i ka luna