由于系统域名变化,需要修改 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
免责声明:本文不代表本站立场,且不构成任何建议,请谨慎对待。
版权声明:作者保留权利,不代表本站立场。
2023-02-19
2023-02-23
2023-05-11
价格
回答
浏览
价格
回答
浏览
价格
回答
浏览
价格
回答
浏览
价格
回答
浏览
价格
回答
浏览
价格
回答
浏览
价格
回答
浏览
价格
回答
浏览
价格
回答
浏览