J'ai une petite question d'analyse avant de me lancer dans mon projet.
J'ai une table client importante (environ 7 millions de ligne et 150 colonnes) En plus de cette table je doit créer une table qualif (qualifiant plus précisément les clients). Mais je ne sais pas comment créer cette nouvelle table. Le plus logique serait d'avoir une colonnes par qualification et une ligne par client. Mais il y a plus de 700 qualificatifs dont la grande majorité seront null. J'ai donc eu l'idée de transposer cette table en ligne de 3 colonnes (id_client, nom_qualif, valeur qualif) et ne créer la ligne que si la valeur_qualif est non null.
Il y a donc 2 solutions :
- 2 tables reliés en 1<->1 avec 150 colonnes d'un coté et 700 colonnes de l'autre multiplié par 7 millions de ligne
- 2 tables reliés en 1<->n avec 150 colonnes d'un coté multiplié par 7 million de ligne et 3 colonnes de l'autre multiplié par (je pense 100 millions de lignes)
Mais pour ces 2 solutions je n'arrive pas à cerner les avantages et inconvénient pour mes futurs requetes d'extraction de donées et surtout pour la perfomance de celle ci.
Mon nez me dit que ce n'est pas bon de transposer en colonnes. Mais comment mysql va t'il gérer 700 colonnes
Et votre nez il dit quoi
Merci