不使用存储过程与函数清除字符串特殊字符,求更优实现方法
优化特殊字符替换的SQL语句
你当前的多次UPDATE语句会对表进行多次全表扫描,数据量较大时性能较差。可以通过嵌套REPLACE函数,在单次UPDATE操作中完成所有特殊字符的替换,大幅减少表扫描次数,提升效率:
UPDATE tablename SET columnname = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( columnname, '!', '' ), '@', ''), '#', ''), '$', ''), '%', ''), '&', '')
说明:
- 这种方式仅需对表进行一次扫描,所有替换逻辑在单条语句中完成,比多次单独
UPDATE的执行效率更高。 - 若后续需要新增要移除的特殊字符,只需在嵌套结构中继续添加对应的
REPLACE层即可。
内容的提问来源于stack exchange,提问作者alex wen
相关产品推荐
相关产品推荐

