mysql update where uid in 太慢了 有其他办法吗

偶滴神啊 2017-08-18 02:03:00
update user set refid=10086 where uid in (select b from (select uid as b from user ORDER BY uid DESC LIMIT 1)as b)

我想更新refid字段 条件是 最新的一个uid 我这样写 查询时间居然要7秒多 才更新一条

请大神帮我看看还有没有其他快一点的语句
...全文
779 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2017-08-19
  • 打赏
  • 举报
回复
update user set refid=10086  where uid =select uid  from user ORDER BY uid DESC LIMIT 1
hongmei85 2017-08-18
  • 打赏
  • 举报
回复
如果update是紧跟insert之后的

INSERT user (***, ***, ***) values('***','***',**);update user set refid=10086  where uid = LAST_INSERT_ID();
wood87654321 2017-08-18
  • 打赏
  • 举报
回复
uid应是数值类型的,不要ORDER BY uid DESC,用MySQL max函数
ACMAIN_CHM 2017-08-18
  • 打赏
  • 举报
回复
uid 上创建索引。

56,803

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧