2011-01-15 5 views
1

Je fais une application GPS qui sera traite de 200 millions de disques dans une table. Ma première pensée est de diviser la table en plusieurs tables comme position_1, position_2, ... et diviser les données.plusieurs tables sharding avec MySQL

Ma question est la suivante: at-il un gain de performances avec MySQL (InnoDB)?

+2

1 table, de 500 millions de lignes, exécution de la requête 0,02 secondes - http://stackoverflow.com/questions/4419499/mysql-nosql-help-me-to-choose-the-right-one-on-a/ 4421601 # 4421601 –

Répondre

1

Le vrai problème est de créer les indices pertinents qui correspondent aux requêtes.
Le InnoDB table size itself (voir le chapitre spécifique InnoDB) ne devrait pas être un problème.

Tant que les index sont précis, le développement et la maintenance de l'application à l'aide d'une seule table sera beaucoup plus facile.

0

Vous n'avez pas besoin de créer plusieurs tables, mais vous pouvez obtenir une amélioration des performances en partitionnant la table unique sur différents disques. MySQL a effectivement un support pour la pratique.

http://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.html

Je vous suggère d'essayer de mesurer les performances avec et sans paritioning avant de décider de l'utiliser.