articulus Directory
Machina repositionis tabulae datorum similis est machinae currus; mutatio machinae statim mutat efficaciam et proprietates. Multi putant basim datorum tantum ad conservanda data esse, sed cum revera in ea laborare incipis... InnoDB 转成 MyISAMTum demum arcana quae post eam latent deteges.
Cur quis ab InnoDB ad MyISAM migrare vellet?
In multis casibus, MyISAM velocior est, praesertim pro applicationibus quae multam lectionem et levitatem scribendi requirunt, ut puta pro basi datorum diariorum et statisticorum.
Mechanismus eius claudendi in gradu tabulae re vera lenissime sub parva concursu currit.
Praeterea, MyISAM fasciculorum conservatio intuitivior est; unus... .MYD Data reconde, unum .MYI Indices servare, migrare, et copias servare omnia percommoda sunt.
Attamen, subsidium transactionum et clavium externarum apud InnoDB fere necessarium est in condicionibus negotiorum complexis.
Quapropter, antequam transitionem facias, explorandum est utrum negotium tuum revera his functionibus indigeat.
Mandatum principale: ALTER TABLE
Ad tabulam singularem ex InnoDB in MyISAM convertendam, una tantum linea codicis tibi necessaria est:
ALTER TABLE `你的表名` ENGINE = MyISAM;
Postquam executio perfecta est, machina repositionis tabulae commutabitur.
Nonne id simplex est?
Conversio per seriem: Generatio automatica scriptorum
Si duodecim vel etiam centum tabulas habes, eas manu mutare certe non est practicum.
Hoc loco, una interrogatio adhiberi potest ad conversiones in serie automatice generandas:
SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE = MyISAM;')
FROM information_schema.tables
WHERE table_schema = '你的数据库名' AND engine = 'InnoDB';
Post cursum, multas imagines edet... ALTER TABLE ... Declaratio.
Has enuntiationes exscribe et omnes simul exsequere ut conversionem gregalem uno impetu perficias.
Hoc est quod "conversio automatica per fasciculos" appellatur.
Aestimatio periculi ante conversionem

Coertiones clavium externarum
InnoDB claves externas sustinet, dum MyISAM eas omnino non sustinet.
Semel conversae, restrictiones clavium externarum directe abicientur.
Si negotium tuum deletionibus vel mutationibus continuis innititur, logica post conversionem omnino deficiet.
Subsidium transactionum
InnoDB transactiones habet easque sustinet. COMMIT autem ROLLBACK.
MyISAM transactiones non habet, sed tantum seras in gradu tabulae.
Post conversionem, omnis codex ad transactiones pertinens invalidus fiet, et reversio impossibilis erit si exceptio fiat.
Concurrentiae effectus
InnoDB claustra in gradu ordinum (row-level) utitur, dum MyISAM claustra in gradu tabularum (table-level).
In condicionibus magnae concurrentiae, MyISAM frequenter tabulas claudit, quod ad impedimenta perfunctionis ducit.
Index proprietatum
In MySQL Ante versionem 5.6, MyISAM proprium indicem textus integri habebat.
sed MySQL Indexatio textus integri iam in versionibus 5.6 et 10+ MariaDB et InnoDB sustinetur.
Ergo, nisi versione vetustiore uteris, non opus est ad MyISAM pro indice pleni textus transire.
Processus Optimae Praxeos
Data subsidiaria Antequam convertas, exportare memento.
.sqlFasciculi servantur ut quovis tempore restitui possint.Structura Indicis Hoc mandato utere ad inspiciendum num clavis externa exstet:
SHOW CREATE TABLE `你的表名`;Conversionem perficere Use
ALTER TABLEAlternative, scripta fasciculorum ad conversionem perficiendam adhiberi possunt.Statum valetudinis inspice Postquam conversio perfecta est, haec exsequere:
CHECK TABLE `你的表名`; OPTIMIZE TABLE `你的表名`;Hoc confirmat tabulam recte fungi et fragmenta liberat.
Methodus recuperationis inversae
Si post conversionem degradatio perfunctionis vel problemata logicae negotialis observantur, quovis tempore ad InnoDB redire potes:
ALTER TABLE `你的表名` ENGINE = InnoDB;
Hoc est quod "operatio reversibilis" appellatur, tibi viam exitus dans.
Sententiae auctoritativae citatae
Secundum Documentatio Officialis MySQL Explicatio:
"Constructio clavis externae"aiClaves externae tantum ab InnoDB sustinentur. Si tabulam ad MyISAM convertis, omnes claves externae neglegentur.
——Manuale Referentiae MySQL, Caput 14.6.6 Coertiones Clavium Externarum
Haec sententia clare nobis indicat claves externas in MyISAM omnino invalidas esse.
autem Documentatio Officialis MariaDB Etiam emfasizatum est:
"MyISAM transactiones non sustinet. Applicationes quae integritate transactionum confidunt MyISAM uti non debent."
——MariaDB Scientiae Basis, Machinae Repositorii
Idcirco bis cogitandum est antequam commutationem facias.
Sententia Mea et Conclusio
InnoDB ad MyISAM convertere simile est machinam currus luxuriosi machina autocineti onerarii substituere.
Currere potest, sed modo omnino diverso currit.
Si negotium tuum interrogationes statisticas leves requirit, celeritas et simplicitas MyISAM aptiores esse possunt.
Attamen, si systema tuum transactionibus et clavibus externis innititur, eas temere convertere simile est sacco aereo removere.
Ergo vera sapientia non in celeritate temere sectanda, sed in stabilitate et efficacia aequilibranda consistit.
Electio basis datorum animam systematis determinat.
Peritia in commutandis machinis repositionis non solum demonstratio facultatis technicae est, sed etiam elevatio cogitationis architectonicae.
Si conversionem magnam consideras, quaeso primum aestimationem periculi plenam perage.
Ambitum probationis semel exsequere ut veras condiciones negotiorum simules.
Postquam omnia recte se habere confirmaveris, mandatum in ambitu productionis exsequere.
Bases datorum non sunt ludibria; sunt cor datorum societatum.
Et tu es qui rhythmum cordis tui moderaris.
Spes Chen Weiliang Blog ( https://www.chenweiliang.com/ Articulus hic communicatus "Quomodo tabulas InnoDB in tabulas MyISAM in datis datorum MySQL/MariaDB per vices convertere?" tibi utilis esse potest.
Grata communicare nexum huius articuli:https://www.chenweiliang.com/cwl-34157.html
