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

Jaká je lepší strategie pro ukládání dat protokolu v databázi?

Jsou-li všechny ostatní věci stejné, menší nesouvislé tabulky mohou mít výkonnostní výhodu, zvláště když jsou náročné na zápis (jako tabulka související s protokoly pravděpodobně bude) – většina mechanismů DB je lépe vyladěna pro převážně čtení, zřídka zapisované tabulky. Pokud jde o psaní (a aktualizaci jakýchkoli indexů, které budete muset udržovat), malé nesouvislé tabulky jsou jasnou výhrou, zvláště pokud existuje nějaká souběžnost (samozřejmě v závislosti na tom, jaký engine pro své tabulky používáte – to je docela důležité zohlednění v mysql!-).

Pokud jde o čtení, vše závisí na vašem vzoru dotazů - jaké dotazy budete potřebovat a jak často. V určitých případech pro vzor použití, jaký uvádíte, může být při duplikování určitých informací určitá výkonnostní výhoda – např. pokud často potřebujete aktuální průběžný součet kreditů nebo debetů uživatele a také podrobné auditovatelné protokoly o tom, jak průběžný součet vznikl, může být vedení (logicky nadbytečné) tabulky průběžných součtů podle uživatelů zaručené (stejně jako pěkně oddělené "tabulky protokolu" o různých zdrojích kreditů a debetů).



  1. Proč mysql_num_rows($result) vrací 1, i když $result vrací prázdnou sadu výsledků?

  2. Spočítejte, kolik záznamů je v databázi v 5minutových intervalech

  3. MySQL a JDBC s rewriteBatchedStatements=true

  4. MYSQL náhodně vybere každou z kategorií