Code Bye

mysql表数据量超过1千万时,批量更新相当慢,查询也慢

 ld_bus_code_list 码值总表
ld_bus_code_management 编码管理表
页面点击分配码值会在编码管理表生成一条记录,并把对应的id更新到码值总表
之前是没问题的,但是ld_bus_code_list这张表的数据量超过1千万就卡死了,
更新语句如下
update ld_bus_code_list set cm_id = 22 where cm_id is null limit 1000000;
高手们帮忙分析一下原因,cm_id 有加索引
解决方案

10

is null提交,索引是不起作用的
设置个默认值,然后用默认值判断,如 where cmd_id=-1
cmd_id列假如不能改可以加个辅助字段

30

照理null也是会存在索引中的。
为什么要  limit 1000000,不能 limit 100000 试试吗?多运行几次就行了

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql表数据量超过1千万时,批量更新相当慢,查询也慢