用case语句进行查询优化

用case语句进行查询优化,第1张

用case语句进行查询优化

case
语句确实会增加时间,因为已对其进行了搜索。

解决方案?将这些对存储在临时表中。。。与索引。所以:

create temporary table pre_pairs (    old_pre varchar(255) not null primary key,    new_pre varchar(255));insert into pre_pairs(old_pre, new_pre)    values ('akdsfj', 'kadjsf'),('asdf', 'ndgs'),. . . ;

然后使用

update
具有
join

update test_table tt join       pre_paris cp       on tt.pre = cp.old_pre    set tt.pre = cp.new_pre;

这可以节省您的时间,因为可以使用索引找到匹配的代码,而不是通过一条

case
语句一个个地搜索。此外,不会尝试对不匹配的行进行更新。170,000行不匹配可能是查询中最慢的部分,因为它们需要遍历整个
case
值列表。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5640421.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存