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

Hvordan gemmer man et stort antal poster i MySql-databasen?

Brug et bord som du er. MySQL kan nemt håndtere milliarder eller rækker af data. Med nogle gode indekser burde din præstation også være ganske god.

Dermed ikke sagt, at du ikke skal se efter at sikre, at du har et godt borddesign, men du skal heller ikke være bekymret for at håndtere, hvad du tror sandsynligvis er en masse data - når det faktisk er et fald i ocean af datasæt.

Antallet af kolonner gør virkelig ikke for meget forskel, rækkestørrelsen kan øge den tid det tager en harddisk at få adgang til dem (ifølge et par artikler jeg har læst), men samtidig skal du have en RIGTIG stor række for rent faktisk at bemærke forskellen på tværs af tusindvis af forespørgsler.

Hvad angår god struktur, afhænger det virkelig af, HVORDAN du skal bruge det. Hvis du skal udføre mange forskellige aggregerede funktioner, skal du sørge for at have en tabel, der tillader det. Hvis du kun har brug for nogle få specifikke forespørgsler, kan det være godt at oprette en rapportspecifik tabel, der samler dataene en gang om dagen.

Rediger:Bemærkninger om den faktiske grænse for antallet af rækker:

http://dev.mysql.com/doc /refman/5.1/da/source-configuration-options.html

MyISAM-lagringsmotoren understøtter 2^32 rækker pr. tabel, men du kan bygge MySQL med --with-big-tables-indstillingen for at få den til at understøtte op til 2^64 rækker pr. tabel.

http://dev.mysql.com/doc/refman /5.1/da/innodb-restrictions.html

InnoDB-lagringsmotoren ser ikke ud til at have en grænse for antallet af rækker, men den har en grænse for tabelstørrelse på 64 terrabyte. Hvor mange rækker der passer til dette afhænger af størrelsen på hver række.




  1. CSV eksport/import med PHPExcel

  2. Er der et standard mysql-forbindelsespooling-bibliotek til C?

  3. Fejl:MySQL lukning uventet. Mens du prøver at starte Mysql på Xampp

  4. Hvordan laver jeg en anden MySQL automatisk stigningskolonne?