sql >> Databasteknik >  >> RDS >> Mysql

Hur lagrar man ett stort antal poster i MySql-databasen?

Använd ett bord som du är. MySQL kan enkelt hantera miljarder eller rader med data. Med några fina index bör din prestation också vara ganska bra.

Därmed inte sagt att du inte ska se till att se till att du har en bra bordsdesign, men du ska inte heller vara orolig för att hantera vad du tror förmodligen är massor av data - när det i själva verket sannolikt är en minskning av ocean av datamängder.

Antalet kolumner gör verkligen inte för stor skillnad, radstorleken kan öka tiden det tar en hårddisk för att komma åt dem (enligt några artiklar jag har läst) men samtidigt skulle du behöva ha en RIKTIGT stor rad för att faktiskt märka skillnaden mellan tusentals frågor.

När det gäller bra struktur beror det verkligen på HUR du kommer att behöva använda den. Om du kommer att utföra många olika sammanlagda funktioner, se till att du har en tabell som tillåter det. Om du bara behöver ett fåtal specifika frågor kan det vara bra att skapa en rapportspecifik tabell som sammanställer uppgifterna en gång om dagen.

Redigera:Anteckningar om faktisk gräns för antal rader:

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

MyISAM-lagringsmotorn stöder 2^32 rader per tabell, men du kan bygga MySQL med alternativet --with-big-tables för att få den att stödja upp till 2^64 rader per tabell.

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

InnoDB-lagringsmotorn verkar inte ha en gräns för antalet rader, men den har en gräns för tabellstorleken på 64 terrabyte. Hur många rader som ryms i detta beror på storleken på varje rad.




  1. JPA EclipseLink DatabaseException:'tabell foo.SEQUENCE existerar inte'

  2. Hur byter man databaser i postgres?

  3. MySQL hierarkisk datahjälp - Closure Table Method

  4. MySQL-index saktar ner frågan