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

Bedste praksis med historiske data i MySQL-database

Det er en almindelig fejl at bekymre sig om "store" borde og ydeevne. Hvis du kan bruge indekser til at få adgang til dine data, betyder det ikke så meget, om du har 1000 ud af 1000000 poster - i hvert fald ikke, som du ville være i stand til at måle. Det design du nævner er almindeligt brugt; det er et fantastisk design, hvor tid er en central del af forretningslogikken.

Hvis du for eksempel vil vide, hvad prisen på en vare var på det tidspunkt, hvor kunden afgav ordren, er det langt den nemmeste løsning at kunne søge i produktregistreringer, hvor valid_from order_date.

Dette er ikke altid tilfældet - hvis du opbevarer data kun til arkivformål, kan det give mere mening at oprette arkivtabeller. Du skal dog være sikker på, at tiden er virkelig ikke en del af forretningslogikken, ellers vil smerten ved at søge i flere tabeller være betydelig - forestil dig at skulle søge enten i produkttabellen ELLER produktarkivtabellen, hver gang du vil finde ud af prisen på et produkt på det tidspunkt, hvor ordren blev afgivet .



  1. Hvordan timeofday() virker i PostgreSQL

  2. Hvordan man opretter en oracle sql script spool fil

  3. Informationssystemer, data og information

  4. Returner en liste over tabeller fra en sammenkædet server i SQL Server (T-SQL-eksempler)