sql >> Databasteknik >  >> RDS >> Mysql

Vilken är en bättre strategi för att lagra loggdata i en databas?

Allt annat lika kan mindre osammanhängande tabeller ha en prestandafördel, speciellt när de är skrivtunga (som tabeller relaterade till loggar kan vara) -- de flesta DB-mekanismer är bättre inställda för mestadels lästa, sällan skrivna tabeller. När det gäller att skriva (och uppdatera eventuella index som du kan behöva underhålla) är små osammanhängande tabeller en klar vinst, speciellt om det finns någon samtidighet (beroende på vilken motor du använder för dina tabeller, naturligtvis - det är en ganska viktig övervägande i mysql!-).

När det gäller läsning beror allt på ditt frågemönster - vilka frågor kommer du att behöva och hur ofta. I vissa fall för ett användningsmönster som du nämner kan det finnas vissa prestandafördelar med att duplicera viss information - t.ex. om du ofta behöver en uppdaterad löpande summa av en användares krediter eller debiteringar, samt detaljerade granskningsbara loggar över hur den löpande summan kom till, kan det vara att hålla en (logiskt överflödig) tabell över löpande totaler av användare motiverat (liksom de snyggt åtskilda "loggtabellerna" om de olika källorna till krediter och debiteringar).



  1. MySQL SUM IF-fält b =fält a

  2. Infoga INTO MySQL FRÅN en annan tabell

  3. ODBC-åtkomst från Windows Server Core

  4. MySQL MATCH fungerar inte med två karaktärer?