J'ai 2 tables MySqlMysql Optimisation
Table_A { pk_A VARCHAR 150 PRIMARY KEY, random_data } ~ 9500 rows
Table_B { pk_B VARCHAR 150, more_random_data } ~ 50000 rows
Relation entre eux est un à plusieurs, pk_A sera trouvé plusieurs fois dans le col Table_B pk_B.
Mon problème est:
si j'activer l'indexation sur pk_B, php/mysql CRUD fonctionne très bien, mais un JOIN ou anyother requête de la ligne de commande impliquant les deux tables prend beaucoup de temps
si je désactive l'indexation sur pk_B, php/mysql CRUD devient laggish, mais JOIN ou anyother requête de la ligne de commande impliquant les deux tables est instantanée
Comment i améliorer mes performances de base de données (je pourrais modifier mes pk de varchar de int (11)), mais je me demandais s'il y a d'autres solutions de contournement disponibles
Merci
Pourquoi -vous utilisant varchar comme clé primaire? –
Comment joignez-vous les tables? Les clés PK doivent toujours être indexées et les colonnes de clé étrangère doivent également être indexées pour des jointures plus rapides. – bfavaretto
Quel est le moteur utilisé. Il existe différentes considérations de performance entre MyISAM et InnoDB. – SingleNegationElimination