sql >> Databáze >  >> RDS >> Mysql

Jak uložit velké množství záznamů do databáze MySql?

Použijte stůl tak, jak jste. MySQL snadno zvládne miliardy nebo řádky dat. S některými pěknými indexy by váš výkon měl být také docela dobrý.

To neznamená, že byste se neměli postarat o to, abyste měli dobrý návrh tabulky, ale neměli byste si dělat starosti se zpracováním toho, o čem si myslíte, že je pravděpodobně spoustou dat – i když ve skutečnosti jde pravděpodobně o pokles oceán datových sad.

Počet sloupců opravdu nehraje příliš velký rozdíl, velikost řádku může prodloužit dobu, za kterou k nim má pevný disk přístup (podle několika článků, které jsem četl), ale zároveň byste museli mít OPRAVDU velký řádek, abyste si skutečně všimli rozdílu mezi tisíci dotazů.

Pokud jde o dobrou strukturu, opravdu záleží na tom, JAK ji budete potřebovat použít. Pokud budete provádět mnoho různých agregačních funkcí, ujistěte se, že máte tabulku, která to umožní. Pokud potřebujete pouze několik konkrétních dotazů, může být dobré vytvořit tabulku specifickou pro přehled, která agreguje data, řekněme jednou za den.

Edit:Poznámky ke skutečnému omezení počtu řádků:

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

Úložný modul MyISAM podporuje 2^32 řádků na tabulku, ale můžete vytvořit MySQL s volbou --with-big-tables, aby podporovala až 2^64 řádků na tabulku.

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

Zdá se, že úložný modul InnoDB nemá limit na počet řádků, ale má limit na velikost tabulky 64 terabajtů. Kolik řádků se do toho vejde, závisí na velikosti každého řádku.




  1. Seskupování, řazení a počítání v jediném dotazu

  2. Exportujte data tabulky z jednoho SQL serveru do druhého

  3. Simultánní vkládání MySQL do stejné tabulky:jak na to?

  4. mysql_fetch_assoc():zadaný argument není platným zdrojem výsledků MySQL v php