在我的数据库中,我有表message
InnoDB ,目前只有8行。下面的架构:
message:id:{type:integer,required:true,primaryKey:true,autoIncrement:true}
user_id:{type:integer,required:false,foreignTable:user,foreignReference:id}
sender_id:{type:integer,required:false,foreignTable:user,foreignReference:id}
主题:{ type:varchar(64)}
内容:{type:longvarchar}
我需要更新user_id
和sender_id
字段,因为我自己正在增加user.id
。为此,我使用了这样的SQL:
set foreign_key_checks=0;
update message set user_id=user_id+10000 where user_id>0;
执行超过5分钟。
我必须补充一点,我也在其他表上更新user_id,我没有问题。
所以我的问题是:这种减速的可能性是什么?是否在一个表中指向 user
的双重外键?或者它可以是user_id
上的刷新索引,也可以是sender_id
上的单独索引?
此外:
AUTOCOMMIT =上;