phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

MySql - WAMP - Huge Table est très lent (20 millions de lignes)

Quelques réponses :

  • 20 millions de lignes est bien dans la capacité de MySQL. Je travaille sur une base de données qui contient plus de 500 millions de lignes dans l'une de ses tables. Restructurer une table peut prendre des heures, mais les requêtes ordinaires ne posent aucun problème tant qu'elles sont assistées par un index.

  • Votre ordinateur portable est assez obsolète et manque de puissance pour être utilisé comme serveur de base de données à grande échelle. Il va falloir beaucoup de temps pour restructurer une table. La faible quantité de mémoire et le disque d'ordinateur portable généralement lent vous limitent probablement. Vous utilisez probablement également les paramètres par défaut de MySQL, qui sont conçus pour fonctionner sur de très vieux ordinateurs.

  • Je ne recommanderais pas d'utiliser TEXT type de données pour tous colonne. Il n'y a aucune raison pour que vous ayez besoin de TEXT pour la plupart de ces colonnes.

  • Ne créez pas d'index sur chaque colonne, surtout si vous insistez pour utiliser TEXT Types de données. Vous ne pouvez même pas indexer un TEXT sauf si vous définissez un index de préfixe . En général, choisissez des index pour prendre en charge des requêtes spécifiques.

Vous avez probablement de nombreuses autres questions basées sur ce qui précède, mais il y a trop de choses à couvrir dans un seul article StackOverflow. Vous voudrez peut-être suivre une formation ou lire un livre si vous allez travailler avec des bases de données.
Je recommande MySQL hautes performances, 2e édition .

Concernant vos questions de suivi :

Pour le réglage de MySQL, voici un bon point de départ :http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/

De nombreuses opérations ALTER TABLE provoquent une restructuration de la table, ce qui signifie essentiellement verrouiller la table, faire une copie de la table entière avec les modifications appliquées, puis renommer les nouvelles et anciennes tables et supprimer l'ancienne table. Si la table est très grande, cela peut prendre beaucoup de temps.

Un type de données TEXT peut stocker jusqu'à 64 Ko, ce qui est excessif pour un numéro de téléphone ou un état. J'utiliserais CHAR(10) pour un numéro de téléphone américain typique. J'utiliserais CHAR(2) pour un état américain. En général, utilisez le type de données le plus compact et le plus économe qui prend en charge la plage de données dont vous avez besoin dans une colonne donnée.