Bonjour le forum,
J'ai une grosse (30 ans) expérience en matière de bdd mais disons un peu vert avec MySQL (2 ans d'expérience) et parfaitement à l'ais een php. Voila pour le contexte.
J'ai un cas à soumettre aux "velus" en mysql.
Une table avec une volumétrie d'environ 50.000 à 100.000 records comportant un champ texte de 200 caractères de la forme :
"00111010001100010001 ... 1100000101"
Chaque octet correspond a un critère positionné à OUI (1) ou non (0). Et bien sur j'aimerais pouvoir lancer des recherche de type :
(criteres[3] == '1') AND (critères[155] == '1')
Pour le moment, j'envisage de passer par une table de type crosse-ref avec un champ cle qui contient le rang (1 à 200) et derrière un champs texte inventoriant les fiches concernés ...
0 --> 17, 23, 156, 345, 1674, 13002, 45767
1 --> nnn, nnn, nnn
Cette suite étant utilsée ensuite avec des recherche de type IN ...avec probablement une petite routine d'intersection des séries pour ne faire qu'un seul IN final ...
Pas de difficulté en soit sauf que comme cette série de critère peut etre assez souvent modifiée, cela va passer par un processus assez lourd de maintenance de la crossref (suppression des 1 disparus et insertions des 1 apparus ... pas très glop ...).
Ma question : Voyez-vous une solution propre aux capacités du sql pour éviter cette usine ... et permettre ce type de recherche ?
Merci par avance
Partager