
电 话:0
手 机:0
联系人:刘先生
E_mail:2074917417@qq.com
地 址:成都市金牛区
如何避免重复查询刚刚更新的数据MQYSQL
在数据查询过程中,我们经常希望在更新行的同时又希望获得该行的信息,要怎么做才能避免重复的查询呢?很遗憾的是,mysql并不支持像PostgreSQL那样的UPDATE RETURNING语法,这个语法可以帮咱们在更新的时候同时返回该行的信息,还好在MYSQL中你可以使用变量来解决这个问题.例如,我们的一个客户希望能够更高效地更新一条记录的时间戳,同时希望当前记录中存放的时间表戳是什么,简单地,可以用下面的代码实现;
UPDATE bhtable1 LASTUPDATED = NOW() WHERE ID=1; //更新时间
SELECT LASTUPDATED FROM bhtable1 where id=1; //读取时间
使用变量,我们可以按以下方式重写查询;
UPDATE bhtable1 SET LASTUPDATED =NOW() WHERE ID=1 AND @now := NOW();
SELECT @now;
上面看起来仍然需要两个查询,需要两次网络来回,但是这里的第二个查询无须访问任何数据表,所以会快非常多.南昌网站制作公司<网络工程师提示大家,如果网络延迟非常大,那么这个优化的意可能不大,不过对于这个客户,这样做的效果很好.
原创文章出自:网络 如转载请注明出处!专业,专注于南昌建网站,为用户提供高品质的网络产品及优质服务是我们始终的追求.
PS:所有作品版权归原创作者所有,与本站立场无关,如不慎侵犯了你的权益,请联系我们告知,我们将做删除处理!
Copyright © 20019-2023 荟萃信息网 版权所有 蜀ICP备16021156号-2
电 话:0 手 机:0 传 真: E-mail:2074917417@qq.com
地 址:成都市金牛区
技术支持:荟萃网络科技
扫码关注我们