2011-05-09 3 views
0

Je gère un site Web et j'ai atteint un grand nombre d'utilisateurs sur le site. Maintenant, le problème auquel je suis confronté est qu'il existe une seule table pour les messages entrants et sortants. Lorsque la taille de cette table de messages atteint plus de deux millions, le site Web devient très lent.optimisation mysql

S'il vous plaît dites-moi quelle est la solution de ce problème?

mon site est send sms to pakistan

ma configuration du serveur est de 1 Go de RAM 786 processeur ghz 200 Go Disque dur

+0

Quel moteur de stockage utilisez-vous pour la table? –

+0

INNODB est le moteur de stockage je suppose ... –

Répondre

2

Il n'existe pas de solution unique pour la réparation de votre base de données. Sharding pourrait aider, mais pour seulement 2 millions de personnes, je m'attendrais à ce que le problème soit principalement des questions mal écrites et un manque d'index. Utilisez EXPLAIN et l'analyseur de requêtes pour déterminer ce que fait votre base de données et lancer des index dessus. Mise à niveau vers un serveur avec 1 ou 2ghz serait également un moyen relativement bon marché d'obtenir une meilleure vitesse.

1

Vous pourriez probablement bénéficier de l'ajout index à vos tables et être sûr que vos requêtes utilisent ceux appropriés.

Optimizing MySQL: Queries and Indexes est un bon article couvrant les bases et d'autres choses que vous pouvez faire pour analyser les requêtes lentes de votre site.

+0

Que faire si l'accès est lourd en écriture? Comment MySQL gère-t-il les INSERTs simultanés? Cela dépend-il du moteur de stockage? –

+0

Mysql a l'option comme l'insertion retardée, qui pourrait aider ici. – gaRex