2010-08-23 23 views
0

Je veux pour stocker tous les accès à une page Web avec l'user-agent, l'exécution de script-heure, l'URI de la demande, le referer complet et quelques autres variables.Pour les systèmes de statistiques quoi de mieux dans MySQL: InnoDB, Archive ou MyISAM?

Ce que je fais est d'utiliser les tables MyISAM normalisées comme:

stats 
stats_user_agents 
stats_referers 
stats_requested_uris 

Mais dans une page Web normale cela prend et de certains SELECT 1 INSERT.

Il est préférable d'utiliser des tables ARCHIVE?

Les enregistrements de statistiques vont de 0 à quelques millions.

+0

Quelle est votre cible? performance de requête (et quel type)? espace de rangement? fiabilité? facile à maintenir? – tszming

+0

@tszming: Performance et stockage, je veux enregistrer toutes les données et les obtenir dans une section de statistiques du web-panel. – Wiliam

+0

Je vous recommande également de regarder les moteurs de stockage orientés colonne pour MySQL comme Infobright (http://www.infobright.org/images/com_images/Log_Mgt_Final.pdf) – tszming

Répondre

0

Il existe quelques comparaisons de base here entre les moteurs isam, isam compressé, archive et innodb.

La réponse courte est ISAM est le plus rapide pour stocker, récupérer et découper les données.

+0

Je pense que oui, je peux utiliser INSERT DELAYED pour accélérer des choses et ajouter un cron pour compresser la table. J'attendrai plus de réponses. – Wiliam