sql >> Database >  >> RDS >> Mysql

SQLite sneller dan MySQL?

Bij de eerste toegang wordt de tijd sneller weergegeven in SQLite

De toegangstijd voor SQLite zal in eerste instantie sneller verschijnen, maar dit is bij een klein aantal gebruikers online. SQLite gebruikt een zeer simplistisch toegangsalgoritme, het is snel maar kan gelijktijdigheid niet aan.

Naarmate de database begint te groeien, en de hoeveelheid gelijktijdige toegang, zal deze beginnen te lijden. De manier waarop servers met meerdere verzoeken omgaan, is compleet anders en veel complexer en geoptimaliseerd voor hoge gelijktijdigheid. SQLite zal bijvoorbeeld de hele tafel vergrendelen als er een update gaande is, en de bestellingen in de wachtrij plaatsen.

RDBMS's maakt veel extra werk waardoor ze schaalbaarder worden

MySQL zal bijvoorbeeld, zelfs met een enkele gebruiker, een toegangswachtrij creëren, tabellen gedeeltelijk vergrendelen in plaats van alleen uitvoeringen van één gebruiker per keer toe te staan, en andere behoorlijk complexe taken om ervoor te zorgen dat de database nog steeds toegankelijk is voor andere gelijktijdige toegang.

Dit zal een enkele gebruikersverbinding langzamer maken, maar loont in de toekomst, wanneer honderden gebruikers online zijn, en in dit geval zal de eenvoudige "VERGRENDEL DE HELE TABEL EN VOER ELKE KEER EEN ENKELE QUERY"-procedure van SQLite de server belasten .

SQLite is gemaakt voor eenvoud en op zichzelf staande database-applicaties.

Als u verwacht dat u 10 gelijktijdige toegang tot de database schrijft, kan SQLite goed presteren, maar u wilt geen 100 gebruikerstoepassing die constant gegevens naar de database schrijft en leest met behulp van SQLite. Het is niet ontworpen voor een dergelijk scenario en het zal bronnen vervuilen.

Gezien je TeamSpeak-scenario ben je waarschijnlijk in orde met SQLite, zelfs voor sommige bedrijven is het OK, sommige websites hebben databases nodig die alleen kunnen worden gelezen, tenzij bij het toevoegen van nieuwe inhoud.

Voor dit soort gebruik is SQLite een goedkope, eenvoudig te implementeren, op zichzelf staande, perfecte oplossing die de klus zal klaren.



  1. Een array maken met recursieve php van mysql

  2. Een inleiding tot SQL-indexen

  3. Hoe geef je een argument door aan een PL/SQL-blok in een sql-bestand met de naam START in sqlplus?

  4. Voeg meerdere resultaatrijen van één kolom samen tot één, groepeer op een andere kolom