sql >> Database teknologi >  >> RDS >> Mysql

Forskel i den nødvendige tid til at indsætte InnoDB/MyISAM-poster

Det er uklart, hvilke holdbarhedsindstillinger du har aktiveret i MyISAM eller Innodb, og heller ikke om du bruger enkeltrækkeindsatse eller batchindlæg i begge tilfælde.

Hvis du bruger enkeltrække-indsættelser, du ikke bruger transaktioner, og du har aktiveret holdbarhed (standardindstillingen i InnoDB), så vil du sandsynligvis se InnoDB-ydeevnen stærkt begrænset af kravet om at forpligte hver transaktion til holdbar lagring ( dvs. disk) efter hver rækkeindsættelse.

MyISAM har ikke noget sådant problem, fordi det alligevel ikke er holdbart, dvs. hvis maskinen går ned er du mere eller mindre garanteret at miste nogle nyligt skrevne data, som databasen tidligere havde hævdet blev skrevet med succes (hvis ikke hele tabellen!).

Hvis du vil have en anstændig insert-ydeevne, skal du bruge batch-indsættelser og/eller transaktioner, ellers måler du bare hastigheden af ​​en skrivning efterfulgt af en fsync(), som (på en ikke-batteristøttet RAID-controller på roterende magnetiske medier) er kun hastigheden på din disks spinning.

Så grunden til, at innodb er så konsistent, er, at du måler din disks spinhastighed.

Når det er sagt, hvis du har en travl server, vil du bestemt, absolut, bruge en batteri-understøttet RAID-controller, så kan du opnå en anstændig transaktionsforpligtelsesydelse OG ordentlig holdbarhed (forudsat at strømmen ikke svigter i længere tid, end batteriet holder, og serveren eksploderer ikke osv.).



  1. Hvordan identificerer man den primære nøgleduplikering fra en SQL Server 2008 fejlkode?

  2. konfiguration af mysql-serverinstallation mislykkedes ELLER kan ikke starte tjenesten

  3. Sådan overvåger du flere MySQL-forekomster, der kører på samme maskine - ClusterControl-tip og -tricks

  4. Tilladelse nægtet ved forsøg på at importere en CSV-fil fra PGAdmin