[MySQL] Tabel structuur bij veel records

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Online-Gamer
  • Registratie: Juni 2005
  • Laatst online: 25-10-2023
Hey,

Ik ben op dit moment bezig om door middel van de Plesk API alle domeinen in een systeem te zetten, hierbij wil ik gegevens opvragen zoals ruimtegebruik en dataverkeer.
Dataverkeer kun je via de Plesk API ophalen per dag, dit is mooi want dan kan ik er op veel manieren statistieken van maken.

Ik wil dus een tabel aanmaken waar ik per dag, per domein het dataverkeer opsla, en heb dus de volgende velden nodig:
domain_id
date
http_in
http_out
pop3_imap_in
pop3_imap_out

Het zijn echter 900 domeinen die ik elke nacht met een cronjob ophaal, dus binnen een jaar zou dat ongeveer 330.00 records zijn. Dit zou een database makkelijk aan moeten kunnen, maar hoe kan ik dit slim aanpakken om het ook snel te houden?

Alvast bedankt voor de tips!

Riny

Acties:
  • 0 Henk 'm!

Verwijderd

De structuur zal niet veranderen, maar je moet even nadenken over de datatypen die je gebruikt, en welke indexen je moet maken. Waarop ga je selecteren, sorteren en groeperen? En zet daarop een index.
330.000 records is peanuts.

[ Voor 6% gewijzigd door Verwijderd op 17-02-2012 08:39 ]


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
maar hoe kan ik dit slim aanpakken om het ook snel te houden?
Gewoon algemene regels databaseontwerp erop houden; zo te zien is het maar 1 eenvoudige tabel, dus sowieso zul je eigenlijk geen problemen hebben met performance in eerste instantie. Hoe vaak wordt deze tabel uitgelezen? Inserts zullen geen probleem zijn qua performance, vzviw is dat nagenoeg constant en onafhankelijk van de tabelgrootte. Als het regelmatig uitgelezen wordt zet je er een index op (domain_id en date, uit de losse pols), maar ook dat is een standaardonderdeel van een cursus databases.