1/ISAM
ISAM ir labi definēta un laika pārbaudīta pieeja datu tabulu pārvaldībai, kas ir izstrādāta, datu bāzei vaicājot daudz biežāk, nekā tā tiek atjaunināta. Tā rezultātā ISAM ātri veic nolasījumus un neaizņem daudz atmiņas un atmiņas resursu. Divi galvenie ISAM trūkumi ir tādi, ka tas neatbalsta darījumu apstrādi un nav izturīgs pret kļūdām: ja cietais disks avarē, datu failus nevar atgūt. Ja izmantojat ISAM misijai kritiskām lietojumprogrammām, jums vienmēr ir jādublē visi reāllaika dati, un MySQL var atbalstīt šādas dublēšanas lietojumprogrammas, pateicoties replicēšanas funkcijai.
2 / InnoDB
Tas nodrošina darījumu kontroles iespēju funkciju, kas nodrošina, ka komandu kopums tiek veiksmīgi izpildīts, vai, ja rodas kāda komandas kļūda, visu komandu rezultāts tiek atcelts, var iedomāties, ka darījumu kontroles spēja ir ļoti svarīga e-bankā. COMMIT, ROLLBACK un citu transakciju līdzekļu atbalsts. Jaunākā MySQL versija jau plāno noņemt BDB atbalstu par labu InnoDB.
MyIASM ir jauna IASM tabulu versija ar šādiem paplašinājumiem: Pārnesamība binārā līmenī. NULL kolonnas indekss. Mainīgajām rindām ir mazāk fragmentu nekā ISAM tabulām. Atbalsts lieliem failiem. Labāka indeksa saspiešana. Vai labāk ir statistisks sadalījums? Labāka un ātrāka auto_increment apstrāde.
Tālāk ir sniegta informācija un konkrētas ieviešanas atšķirības.
1. InnoDB neatbalsta FULLTEXT tipa indeksus. 2. Tabulas netiek saglabātas InnoDB konkrētām rindām, tas ir, izpildīt atlasīt count(*) no tabulā, InnoDB skenē visu tabulu, lai aprēķinātu, cik rindu ir, bet MyISAM vienkārši nolasa saglabātās rindas. Ņemiet vērā, ka, ja count(*) priekšrakstā ir kur nosacījums, abu tabulu darbība ir vienāda. 3. AUTO_INCREMENT tipa laukiem indekss ar tikai šo lauku ir jāiekļauj InnoDB, bet MyISAM tabulā ir iespējams izveidot federatīvo indeksu ar citiem laukiem. 4.DZĒST FROM tabulas InnoDB neatjauno tabulu, bet izdzēš to rindu pa rindai. 5. IELĀDES TABULA NO Operācija MASTER nedarbojas InnoDB, risinājums ir vispirms mainīt InnoDB tabulu uz MyISAM tabulu, importēt datus un pēc tam mainīt tos uz InnoDB tabulu, bet tas nav piemērojams tabulām, kas izmanto papildu InnoDB funkcijas (piemēram, ārējās atslēgas).
Turklāt InnoDB tabulas rindas bloķēšana nav absolūta, ja MySQL nevar noteikt skenējamo tvērumu, izpildot SQL paziņojumu, InnoDB tabula bloķēs arī visu tabulu, piemēram, atjaunināšanu tabulas kopa num=1, kur nosaukums, piemēram, " a%"
Neviena tabula nav visvarena, tikai izvēloties atbilstošu tabulas veidu biznesa tipam, mēs varam maksimāli palielināt MySQL veiktspējas priekšrocības.
MySQL Kad administrators izveido datu bāzi, tabulas noklusējuma tips ir InnoDB.
InnoDB,MyISAM Kāda ir atšķirība starp abiem veidiem: MyISAM tips neatbalsta uzlabotu apstrādi, piemēram, transakciju apstrādi, bet InnoDB tips to dara. MyISAM tipa tabulas uzsver veiktspēju, kas darbojas vairākus grādus ātrāk nekā InnoDB tips, bet nenodrošina darījumu atbalstu, savukārt InnoDB nodrošina uzlabotas datu bāzes funkcijas, piemēram, transakciju atbalstu, ārējās atslēgas utt.
MyISAM tipa bināros datu failus var migrēt starp dažādām operētājsistēmām. Tas ir, to var kopēt tieši no Windows sistēmas uz Linux sistēmu.
Mainiet tabulas motora tipu:
MAINĪT TABULA tabulas nosaukums ENGINE = MyISAM ;
MyISAM:,它是基于传统的ISAM类型,ISAM是Indexed Secīgās piekļuves metode Tā ir standarta metode ierakstu un failu glabāšanai. Salīdzinot ar citiem krātuves dzinējiem, MyISAM ir lielākā daļa rīku tabulu pārbaudei un labošanai. MyISAM tabulas var saspiest, un tās atbalsta pilnteksta meklēšanu. Tie nav darījumu drošībā un neatbalsta ārējās atslēgas. Ja kaut kas tiek atgriezts, tas izraisīs nepilnīgu atcelšanu un nav atomu. Ja tiek veikts liels skaits nāvessodu TheSELECT, MyISAM ir labāka izvēle.
InnoDB:这种类型是事务安全的.它与BDB类型具有相同的特性,它们还支持外键.InnoDB表格速度很快.具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它.如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表,
InnoDB tipiem, kas atbalsta lietas, galvenais iemesls, kas ietekmē ātrumu, ir tas, ka AUTOCOMMIT noklusējuma iestatījums ir ieslēgts un programma skaidri neizsauc BEGIN Sāciet transakciju, kā rezultātā katrai ievietošanai tiek veikta automātiska apņemšanās, kas nopietni ietekmē ātrumu. Jūs varat izsaukt sākumu pirms SQL izpildes, un vairāki SQL veido vienu lietu (pat ja automātiskā commit trāpījumi var arī ieslēgt), kas ievērojami uzlabos veiktspēju.
1. Apskatiet tabulas informāciju, ieskaitot izmantotā dzinēja tipu, rakstzīmju kodējumu, tabulas struktūru utt
Izmantojiet šo komandu
mysql> rādīt izveidot tabulu t1; --t1 ir tabulas nosaukums
2. Šādu komandu var izpildīt, lai pārslēgtu netransakciju tabulas uz darījumiem (dati netiek zaudēti), innodb tabulas ir drošākas nekā myisam tabulas: Mainīt tabulu T1 tips=innodb; --t1 ir tabulas nosaukums
3. Innodb tabulu nevar table_name ar labošanas tabulas komandu un myisamchk -r Bet jūs varat izmantot pārbaudes tabulu t1 un mysqlcheck [OPTIONS] datu bāze [tabulas]
4. Komandrindai ir pievienoti šādi parametri, lai startētu mysql datu bāzi, lai visas nesen izlaistās mysql datu tabulas pēc noklusējuma izmantotu transakcijas ( Tas ietekmē tikai izveides priekšrakstu. ) --default-table-type=InnoDB
5. Noklusējuma tabulas tipa īslaicīgu maiņu var veikt: iestatiet table_type=InnoDB;
Mans ISAM Priekšrocības: ātrs ātrums, mazāk vietas diskā; Datu bāzes vai tabulas diska lietojumu var atrast, pārbaudot operētājsistēmas atbilstošā faila (mapes) lielumu vai izmantojot SQL paziņojumu SHOW TABLE STATUS Mīnusi: Nav datu integritātes mehānisma, t.i., nav atbalsta darījumiem un ārējām atslēgām
InnoDB Priekšrocības: Atbalsta darījumus un ārējās atslēgas, kā arī pilnīgu datu integritātes mehānismu. Varat izmantot SHOW TABLE STATUS, lai pārbaudītu bibliotēkas vai tabulas diska aizņemtību Trūkumi: īpaši lēns ātrums, aizņemta liela diska vieta; Visas bibliotēkas tiek glabātas vienā (parasti) vai vairākos failos, un operētājsistēma nevar noteikt, cik daudz vietas ir bibliotēkā vai tabulā
BDB Priekšrocības: Atbalsta darījumus, neatbalsta ārējās atslēgas, jo, pamatojoties uz darījumu atbalstu, ārējās atslēgas var netieši ieviest datu bāzes klienta pusē (kas var būt gala klienta servera puse, piemēram, PHP), tāpēc datu integritāte joprojām ir garantēta; Trūkumi: lēns ātrums, liels diska lietojums; Datu bāzes vai tabulas vietas aizņemtību nevar vaicāt, izmantojot SHOW TABLE STATUS. Operētājsistēma var saprast atbilstošās bibliotēkas mapes vai atbilstošā tabulas faila lielumu, bet, tā kā BDB tabulā vienmēr ir jāģenerē žurnālfails, un faktiskajam diska aizņemtumam jāietver žurnālfails, bibliotēkas vai tabulas lielums vienmēr ir mazāks par faktisko vietu, ko aizņem operētājsistēma.
|