本节内容:
在mysql/ target=_blank class=infotextkey>mysql数据库中,不用循环语句,直接update更新多条记录。
UPDATE 查询语句中,无法简单地写进去多个值。
不同情况下,可以用不同的方法解决。
如果确信将要update的记录是存在的,可以用INSERT ... ON DUPLICATE KEY UPDATE代替(请沉思)。
如果并非100%确定这条记录存在,那么最好建一个临时表,插进去全部试图更新的值,然后执行一条多表update查询。
如果跑的是MariaDB,或是Percona Server,则可以尝试下在HandlerSocket接口上做update。
可以大幅消除由于执行多条查询带来的开销。甚至,对于每个update执行一条查询的情况一样有效。
说明:
不同方法的性能差异在于数据和要做的事情。
一定要在数据、服务器和应用程序上进行测试。
就介绍这些了,以上三种情况下的不同方法,大家都可以亲自测试下,多动手、多动脑、多进步。