2012-06-13 1 views
1

Je possède un service d'archives en ligne depuis plus d'un an maintenant. Malheureusement, je n'ai pas mis dans l'infrastructure pour garder des statistiques. Tout ce que j'ai maintenant sont les journaux d'accès aux archives.Suggestions de base de données pour stocker un "compte" pour chaque heure de la journée

Pour chaque heure, il y a deux fichiers audio (0-30 min dans un et 30-60 min dans l'autre). J'ai actuellement utilisé MySQL pour mettre dans les comptes. On dirait quelque chose comme ceci:

|  DATE  | TIME | COUNT | 
| 2012-06-12 | 20:00 | 39 | 
| 2012-06-12 | 20:30 | 26 | 
| 2012-06-12 | 21:00 | 16 | 

et ainsi de suite ...

Cela fait 365 jours * 24 h * 2 (2 moitiés dans une heure)> 17500 lignes. Cela rend la lecture/écriture lente et je sens que beaucoup d'espace est gaspillé en le stockant de cette façon.

Alors connaissez-vous d'autres bases de données qui stockent ces données plus efficacement et plus rapidement?

+0

17500 est pas beaucoup. Et vous pouvez stocker la date et l'heure dans une colonne en tant que DATETIME. S'il est lent à lire, pensez à ajouter un index au DATETIME. –

+1

Vous vous inquiétez lorsque vous atteignez des milliards de lignes. 175k est assez petit, vu qu'il y a des bases de données avec littéralement des trillions de lignes. –

+0

@Michael Right. Je pourrais utiliser des index. Mais il n'y a aucun moyen de raccourcir les temps d'écriture, n'est-ce pas? – Ram

Répondre

1

Ce n'est pas trop de lignes. Si elle est correctement indexée, les lectures devraient être assez rapides (les écritures seront un peu plus lentes, mais même avec des tables d'environ un demi-million de lignes, je les remarque à peine).

Si vous sélectionnez les éléments de la base de données en utilisant quelque chose comme

select * from my_table where date='2012-06-12'

Ensuite, vous devez vous assurer que vous avez un index sur la colonne de date. Vous pouvez également créer plusieurs index de colonne si vous utilisez plusieurs colonnes dans votre instruction where. Cela rendra vos instructions de lecture très rapides (comme je l'ai dit jusqu'à un million de lignes).

Si vous êtes index connaissent pas, voir ici:

MySQL Indexes

Questions connexes