captain_torche Posté 16 Mai 2007 Posté 16 Mai 2007 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 ?
Dan Posté 16 Mai 2007 Posté 16 Mai 2007 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
captain_torche Posté 16 Mai 2007 Auteur Posté 16 Mai 2007 Oui, c'est sûr, je vise pas le méga-dédié C'était une opération régulière, ou exceptionnelle ?
Dan Posté 16 Mai 2007 Posté 16 Mai 2007 Plutôt exceptionnelle. Je ne le faisais que lorsqu'un membre demandait à changer de pseudo. C'était pour changer les noms des citations.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant