Aller au contenu

Sujets conseillés

Posté

Je suis en train de découvrir de nouvelles subtilités de MySQL, notamment la fonction REPLACE.

Lors de la modification d'une entrée de ma base, je dois mettre à jour les références à cette entrée dans des champs de type TEXT.

Le souci, c'est que je ne l'utilise encore qu'en local, sur un petit nombre d'enregistrements, mais je ne sais pas quel en serait le comportement sur un nombre beaucoup plus élevé d'enregistrements.

D'ailleurs, faut-il l'utiliser de cette manière :

UPDATE matable SET champ=REPLACE(champ,'oldchaine','newchaine' ) WHERE champ LIKE '%oldchaine%'

ou comme ceci :

UPDATE matable SET champ=REPLACE(champ,'oldchaine','newchaine' )

En gros : est-il nécessaire de préciser un LIKE '%%' sur un champ TEXT, ou ce sera horrible en termes de ressources consommées ?

Et est-il envisageable d'utiliser REPLACE sur un grand nombre de champs TEXT à la fois ?

Posté

Sans vouloir édicter de règles précises, j'ai déjà utilisé la première formulation sur la table des posts du Hub, sans que cela ne pose de problème de performances.

Mais on a une grosse machine :)

Posté

Plutôt exceptionnelle. Je ne le faisais que lorsqu'un membre demandait à changer de pseudo.

C'était pour changer les noms des citations.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...