• 技术文章 >后端开发 >php教程

    mysql多表删除 快点 再快点.该怎么处理

    2016-06-13 12:55:29原创477
    mysql多表删除 快点 再快点....
    有表 A B C D E F G

    PHP code
    A.id = B.aid = C.aid = D.aid = E.aid = F.aid = G.aid
    


    现在要把id为1的数据在所有表中全部删除

    刚开始写的循环删除 但执行效率太慢了

    有没有更好的办法使效率更高

    ------解决方案--------------------
    delete from A where id=1;
    delete from B where aid=1;
    .........................
    ------解决方案--------------------
    探讨

    引用:

    delete from A where id=1;
    delete from B where aid=1;
    .........................


    我也是这么写的 循环array(A,B,C,D,E,...);然后删除的 可能由于表中数据太多(大概一百三十万条左右)
    删除一条大概需要3 4秒

    ------解决方案--------------------
    在所有表的 aid 上建索引
    在循环中逐个操作

    如果都是 InnoDB 类型表
    那么在除 A 外的表的 aid 上建 A.id 的外键
    只 delete from A where id=1 即可

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    千万级数据并发解决方案(理论+实战):点击学习

    Mysql单表千万级数据量的查询优化与性能分析

    Mysql主从原理及其在高并发系统中的应用

    专题推荐:aid delete where from id
    上一篇: 求教为什么小弟我的代码无法写入数据库 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 总结ElasticSearch基本操作!非常详细!• PHP网页UTF8编码开发中空白的问题_PHP教程• PHP经常容易记乱的知识_PHP教程• php+ajax文章自动保存代码实例方法_PHP教程• 50条规则提高PHP开发提高效率技巧_PHP教程
    1/1

    PHP中文网