33
-- Moses --
通常情况下,我们会使用以下的方式来更新数据,假如我更新一个产品名称
左右滑动查看全部
但是,这样的语句能满足我们的需求很局限,每次只能执行一次,比如,我更新多次呢?
有人可能会想到用循环来解决
左右滑动查看全部
但是这样只是多次执行同一条语句而已,感觉都是在做无用功,而且性能非常不好。我们能不能根据不同值,对不同记录做更新呢?
比如我传 id 是 40,产品名改为「户外广告设计制作」,传 id 为 41,产品名改为「软件实施服务」。
有些人可能会从编程语言出发,想到 switch case 语句,没错,这种分支结构能满足
非完整正确语句
左右滑动查看全部
但是这样编码就会看起来很繁杂。关键是多次向数据库服务器发起操作,性能不佳。SQL 层面有没有提供类似的分支语句呢?
答案是有的!请看如下的 SQL 语句:
这样,我们只要做一次数据库操作就可以根据不同值,对不同记录做更新,如此性能提高了,代码方面也会整洁不少!
到这里,有人可能还会有疑问,如果要更新多个不同的字段呢?咋办?
别急,请看下面的 SQL 语句
认真看,其实这语句跟 switch case 如出一辙,相信大家能悟出点什么东西来。
有人可能不明白为什么要这样做,为什么不直接在代码中用循环语句,还搞那么麻烦,其实不然,这样一来。
一、能简化我们的代码,简单易懂。
二、也是为什么这样做的主要原因是:在循环语句中执行了不止一次SQL 查询,在做系统优化的时候,我们要想尽办法减少与数据库交涉的次数,以减少资源占用、对文件读写。如果用以上的 SQL 语句,我们只需执行一次即可完成同样的事情,这样就可以提高系统性能,只不过 SQL 语句稍微复杂点。
至于两种哪种好,我也说不好,要综合考虑,要视实际情况而定,适合自己系统的方案才是最佳方案!
最后,旧的一年已经过去,祝我们元旦欢喜,在新的一年里做任何事都能如愿以偿,心想事成。
领取专属 10元无门槛券
私享最新 技术干货