返回顶部
首页 > 问答 > 大数据 > mysql大批量替换字符串如何优化
0
已解决

mysql大批量替换字符串如何优化

  • 匿名发布
  • 2023-02-17
  • 发布在 问答/大数据
129

由于系统域名变化,需要修改 mysql 数据库中的多个表的字段中的域名。

数据量特别大,首先表很多大概 300+;其次每个表中的数据大约是 50 万条左右。找不到大批量替换字符串的语句优化方法。

目前我查到是 mysql 替换字符串语句为:

update test_table.content
set content= replace(content,'domain_name','domain_name_new');

但是这样直接执行速度特别慢,没有 where 条件也不好添加索引来提高效率。
就算是用 content 字段作为 where 条件来筛选修改范围,就会变成:

update test_table.content
set content= replace(content,'domain_name','domain_name_new')
where content like '%domain_name%';

首先 like“% xxx”,无法使用索引。在这个 content 字段上加索引,然后又要修改该字段,反而会增加维护索引的时间。

还是找不到大批量替换字符串的语句优化方法。请各位大神帮忙看一下这种情况如何处理才能提高运行速度。


最佳答案

一张白纸-°

2023-02-19 01:33:32

1. 尽量避免使用replace语句,考虑使用update语句实现替换操作;

2. 尽量使用分片表进行更新字段操作;

3. 尽量使用存储过程,如果替换操作涉及多张表;

4. 尽量使用更多索引优化替换操作;

5. 尽量在单表上进行replace操作;

6. 尽量使用sql的替换函数,如replace、substring等;

7. 尽量在同一条sql语句中完成替换操作;

8. 尽量避免使用游标进行替换操作;

9. 尽量考虑使用instr函数进行替换操作;

10. 尽量考虑使用表达式实现替换操作;

其他回答3

雨打梨花深闭门ベ

2023-02-19

【MySQL大批量替换字符串优化】

1. 在开始替换之前,先使用SQL查询语句检查要替换的字符串的信息,以避免重复更新。

2. 如果字段是字符类型,考虑使用MySQL的REPLACE函数进行替换。

3. 使用MySQL的Update指令拼接字符串,可以大大提高替换效率。

4. 使用存储过程,将要替换的字符串存放在一个变量内,然后借助循环结构进行替换。

5. 如果要替换的字符串有很多重复的,可以考虑将替换字符串放入一个表中,然后使用join操作进行替换,提升替换效率。

6. 可以尝试使用Bulk Insert函数,将要替换的字符串放入一个更大的表格中,然后使用join操作进行替换。

7. 使用MySQL的SET函数,将要替换的字符串存放在一个变量中,然后用SET函数替换,提升替换效率。

丁国璐

2023-02-23

1、临时表替换:先创建一张临时表,把原表里面需要替换的字段值拷贝到临时表里,然后在临时表内进行替换操作,最后再把临时表里面更新后的字段值返回给原表。

2、使用 REPLACE 函数:MySQL 提供了 REPLACE 函数,可以用来替换目标字符串里面的指定字符。

3、使用 UPDATE 语句:用 UPDATE 语句进行大批量字符串替换,可以在 WHERE 条件部分根据需要筛选出需要替换的记录。

4、使用 LEFT JOIN 和 REPLACE 函数:可以通过 LEFT JOIN 语句先把目标字符串和一张空表关联起来,然后使用 REPLACE 函数进行替换。

5、使用 PHP 函数:可以使用 PHP 函数 str_replace() 和 preg_replace() 对 MySQL 数据库里的字段值进行替换。

换一个对的人

2023-05-11

可以使用MySQL的replace函数来批量替换字符串,同时使用事务和索引来优化操作速度。

  1. 在需要替换字符串的表上创建一个索引,例如:CREATE INDEX idx_replace ON table_name(column_name);

  2. 开启事务:START TRANSACTION;

  3. 使用replace函数进行批量替换,例如:UPDATE table_name SET column_name = REPLACE(column_name, "old_string", "new_string");

  4. 提交事务:COMMIT;

这样的操作可以大大减少替换字符串的时间,同时减少对表的锁定时间,提高系统的并发性能。

相关文章
  • php+mysql如何批量替换字符串
    本篇内容介绍了“php+mysql如何批量替换字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先我们需要了解一些基本概念。字符串替换是...
    99+
    标签:
  • php+mysql怎么批量替换字符串
    PHP和MySQL是现代互联网应用中最流行的编程语言和数据库之一。无论是开发Web应用、电子商务网站,还是维护、管理数据,PHP和MySQL都是开发者的首选。本文将介绍如何使用PHP和MySQL进行批量字符串替换。首先我们需要了解一些基本概...
    99+
    标签:
    php mysql
  • SQLserver2008怎么批量替换字符串
    这篇文章主要讲解了“SQLserver2008怎么批量替换字符串”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQLserver2008怎么批量替换字符串”...
    99+
    标签:
    sqlserver
  • python字符串怎么批量替换
    在Python中,可以使用`replace()`方法来替换字符串中的内容。以下是一种批量替换的方法,您可以使用一个字典来存储要替换的内容,然后在字符串中使用`replace()`方法进行替换:```pythondef batch_rep...
    99+
    标签:
    python
  • linux怎么批量替换字符串
    在Linux中,可以使用`sed`命令来批量替换字符串。语法如下:```bashsed 's/原字符串/新字符串/g'...
    99+
    标签:
    linux
  • MySQL中怎么批量替换指定字段字符串
    这期内容当中小编将会给大家带来有关MySQL中怎么批量替换指定字段字符串,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。    MySQL批量...
    99+
    标签:
    mysql
  • 如何利用bat批处理批量替换字符串
    本篇内容主要讲解“如何利用bat批处理批量替换字符串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何利用bat批处理批量替换字符串”吧!在windows上跑case时,我用它来替换xml文档中...
    99+
    标签:
  • 如何批量替换字符串中的某个特定字符?
    前两天领导突然给了我一个excel文件(该文件的编码只是简单的一个编码,如‘C001’,而不是像A表中存在的是一个sql语句),里面有rule_code对应的代码,领导要求我将表A中ori_sql列wher...
    99+
    标签:
    批量替换字符串中等的某个特定字符 符串 替换字符
  • php如何实现数组批量替换字符串
    这篇文章主要介绍“php如何实现数组批量替换字符串”,在日常操作中,相信很多人在php如何实现数组批量替换字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何实现数组批量替换字符串”的疑惑有所帮助!...
    99+
    标签:
  • php字符串变量如何替换
    这篇“php字符串变量如何替换”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php字符串变量如何替换”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。...
    99+
    标签:
  • mysql如何替换部分字符串
    本篇内容主要讲解“mysql如何替换部分字符串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql如何替换部分字符串”吧! my...
    99+
    标签:
    mysql
  • mysql如何替换字符串中换行符及回车符
    mysql如何替换字符串中换行符及回车符 mysql如何替换字符串中换行符及回车符 替换字符串中回车符 update mscto.table set bodyhtml= replace(bodyhtml,...
    99+
    标签:
    mysql 数据库 java
  • 批处理如何保留空行替换字符串
    这篇文章将为大家详细讲解有关批处理如何保留空行替换字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:@echo off :: 保留空行替换字符串 :: 当行首有冒号时会抛掉最开始的几个连续冒号...
    99+
    标签:
  • php如何替换字符串中的字符串
    1、php如何替换字符串中的字符串2、php如何替换字符之间的内容3、php替换怎么替换指定位置字符4、php正则如何实现全部替换字符串5、php中字符替换函数是什么6、php如何从指定位置替换字符串 php如何替换字符串中的字符串 php...
    99+
    标签:
    php 开发语言
  • linux如何替换字符串
    这篇文章主要介绍linux如何替换字符串,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在linux中,可以利用sed命令来替换字符串,该命令主要用于自动编辑一个或多个文件,当参数设置为“s”时,可以替换内容,语法为“...
    99+
    标签:
  • jquery如何替换字符串
    这篇文章主要介绍“jquery如何替换字符串”,在日常操作中,相信很多人在jquery如何替换字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery如何替换字符串”的疑惑有所帮助!接下来,请跟着小编...
    99+
    标签:
  • IDEA怎么使用正则表达式批量替换字符串
    这篇文章主要介绍了IDEA怎么使用正则表达式批量替换字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。由于一开始的粗放扩张,公司项目代码里,遗留有很多类似魔法数的写死的id...
    99+
    标签:
  • php字符串如何替换一个字符
    这篇“php字符串如何替换一个字符”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php字符串如何替换一个字符”文章吧。替换1...
    99+
    标签:
  • php如何替换子字符串
    这篇文章主要为大家展示了“php如何替换子字符串”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何替换子字符串”这篇文章吧。替换子字符串您有一个字符串,想...
    99+
    标签:
    php
  • php中如何替换字符串
    在php中使用strtr()函数替换字符串,具体方法如下:strtr()函数作用:php中strtr()函数的作用是用于替换字符串中特定的字符。strtr()函数语法:strtr(string,from,to)参数:string:指定字符串...
    99+
    标签:
    PHP 字符串
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作