J'ai une grande table mysql MyISAM avec 1,5mil rangées et 4,5 Go de large, toujours en augmentation tous les jours.Grande table MySQL - Conseil nécessaire
J'ai effectué toute l'indexation nécessaire et les performances ont été grandement optimisées. Pourtant, la base de données se décompose parfois (indiquant 500 erreur interne du serveur), généralement en raison de la surcharge de la requête. Chaque fois qu'il y a une panne, la table va commencer à travailler très lentement et je vais devoir faire une tâche idiote mais efficace: copier toute la table sur une nouvelle table et remplacer la nouvelle par l'ancienne !!
Vous pouvez demander pourquoi une telle action stupide. Pourquoi ne pas réparer ou optimiser la table? J'ai essayé cela mais le temps pour faire la réparation ou l'optimisation peut être plus que le temps de simplement dupliquer la table et plus important encore la nouvelle table exécute beaucoup plus rapidement.
La table nouvellement construite fonctionne habituellement très bien. Mais au fil du temps, il deviendra léthargique (peut-être après un mois) et conduira éventuellement à une autre panne (500 serveur interne). C'est alors que tout ralentit considérablement et que je dois répéter le processus stupide de remplacement de la table. Pour plus d'informations: - Les données de la table sont rarement supprimées. Il n'y a donc pas beaucoup de frais généraux dans la table. - Dans des conditions optimales, chaque requête prend 1-3 s. Mais quand il devient lent, la même requête peut prendre plus de 30 secondes. - La table a 24 champs, 7 sont int, 3 sont texte, 5 sont varchar et le reste sont smallint. C'est utilisé pour contenir des articles.
Si vous pouvez expliquer ce qui cause la lenteur ou si vous avez des suggestions sur la façon d'améliorer la situation, n'hésitez pas à la partager. Je serai très reconnaissant.
Une question: Cette table utilise-t-elle des lignes de longueur variable? – zebediah49
pouvez-vous poster votre requête et "EXPLAIN" sortie? –
Pour zebediah, autre que int, text, varchar et smallint, cette table n'utilise pas d'autres types. La longueur dans le texte peut cependant varier. Pour Maris, la table est bien optimisée grâce à l'indexation. Chaque demande est faite sans besoin de tri. J'ai utilisé Explain pour vérifier chaque requête afin de m'assurer que chaque requête est optimisée. – Judy