mysql update 需要1秒多
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql update 需要1秒多相关的知识,希望对你有一定的参考价值。
谁知道什么问题吗?怎么解决?
我单独更新一条只需要0.75ms
比较大的可能是:数据量较大,而且update语句中的where子句涉及的字段没有索引。追问
update ipads set pro='安徽',city='蚌埠市' where num1='3738110976' ;
update ipads set pro='安徽',city='六安市' where num1='3738110464' ;
update ipads set pro='安徽',city='合肥市' where num1='3738109952' ;
update ipads set pro='山东',city='青岛市' where num1='3738099712' ;
直接更新的,做多的时候更新一条要7秒多。表没索引。有32万条数据
试试对num1这一列做索引,应该可以解决。
create index idx_num1 on ipads (num1);
mysql优化从17秒多到1秒多。怀疑人生
一段MySQL,大概是这样
set @bl=\'value\'; #定义变量 子查询1 子查询2 子查询3的where条件都用到了 select ... from( #子查询1(用到@bl) union #子查询2(用到@bl) union #子查询3(用到@bl) ) left join(子查询4)
结果查询用了17s:
然后分别执行子查询,结果最慢的只有1s多,我就不淡定了,笛卡尔积也不能这么卡啊
然后反手就是去掉变量,直接赋值的操作,即将子查询中用到的变量@bl 都改成了直接的字符串值,再执行,擦只有1s多:
怀疑人生!!!原因日后再分析吧,项目时间紧,先记下来
以上是关于mysql update 需要1秒多的主要内容,如果未能解决你的问题,请参考以下文章