PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 数据库 > MySQL教程 > 正文

    MySQL性能优化-操作 delete 或者 update 语句,加个 limit

    作者:admin来源:网络浏览:时间:2020-11-24 12:13:20我要评论
    导读:在执行删除或者更新语句,尽量加上 limit,以下面的这条 SQL 为例吧:delete from euser where age > 30 limit 200;因为加了 l...
    在执行删除或者更新语句,尽量加上 limit,以下面的这条 SQL 为例吧:

    delete from euser where age > 30 limit 200;

    因为加了 limit 主要有这些好处:

    MySQL性能优化-操作 delete 或者 update 语句,加个 limit

    降低写错 SQL 的代价 , 你在命令行执行这个 SQL 的时候,如果不加 limit,执行的时候一个不小心手抖,可能数据全删掉了,如果删错了呢?加了 limit 200,就不一样了。删错也只是丢失 200 条数据,可以通过 binlog 日志快速恢复的。

    SQL 效率很可能更高,你在 SQL 行中,加了 limit 1,如果第一条就命中目标 return, 没有 limit 的话,还会继续执行扫描表。

    避免了长事务,delete 执行时,如果 age 加了索引,MySQL 会将所有相关的行加写锁和间隙锁,所有执行相关行会被锁住,如果删除数量大,会直接影响相关业务无法使用。

    数据量大的话,容易把 CPU 打满 , 如果你删除数据量很大时,不加 limit 限制一下记录数,容易把 cpu 打满,导致越删越慢的。


    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-35-6449-1.html
    相关热词搜索: MySQL性能优化