Bonjour à tous,
Nous avons une appli développé pour nous il y a longtemps, plutôt lent et pas évolutif
La base associée est sous MySQL 5.7.
En insistant, j'ai fini par avoir un accès lecture à la base (histoire de l'exploiter un peu plus ;-)).
Chaque table est constitué :
- id (CHAR)
- md5 (CHAR)
- data (LONGBLOB)
L'intégralité des données est dans le data, sous forme de XML.
Et là, je ne comprends pas la logique.
Les types... me paraissent mal choisi mais "peu importe" (l'id est du hexa donc pas de int, à mon sens un non-sens en terme de performance non?)
Ca pourrais ressembler à du NOSQL (que je connais mal, à part le principe), mais pourquoi "encapsulé" dans du MySQL, ce n'est pas garder le "pire" des deux mondes??
Pas d'index exploitable, pas de scalabilité. Balancer du ExtractValue même sur la table des users, tout est plus lent et compliqué.
Je suis touche à tout par mon poste (et la passion toussa toussa ;-)), mais là ce sont des dev pro qui l'ont fait. Je me dis qu'il doit y avoir une raison (mais ne peut leur demander directement pour diverses raisons).
Est-ce que je passe à côté de quelque chose? D'après vos connaissances/expériences, sauriez-vous pour quelle raison une base peut être faites comme ça?
C'est juste pour ma culture, mais vraiment ça m'intrigue!
Merci
Partager