避免用join查询的方式来做数据库查询优化 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

避免用join查询的方式来做数据库查询优化

蛮大人123 2016-02-12 16:35:58 2361

boss说平时查询数据量大的数据尽量避免用join 宁可一次将一张表的数据查出来再用这些数据去做查询 也不要用过多的使用join 尽量分成多次查询来做 ,请大神来讲讲这其中的sql优化

数据查询优化 join数据库 数据库查询优化 优化join数据 数据库查询
分享到
取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 18:41:30

    如果用了关系型数据库,用表的join是很自然的做法,除非一些特例:
    1.
    sql语句太复杂,或统计信息不准确,造成数据库生成的执行计划不正确,导致运行效率低下,且短时间没办法改写sql
    2.
    数据量特别大(至少过亿),数据库负载成为整个系统的性能瓶颈,在架构设计的时候就规定了不用数据库本身的表连接功能。
    3.
    使用了ORM框架,对于关联对象默认会使用N+1查询的方式,如果数据量不是特别大,加上有缓存功能,效率并不低。
    所以一般情况下,用数据库的join功能,比自己多次取数据做关联效率要高,否则一张大数据量表,但是传递到PHP中,就要花费很长的时间。
    sql优化最基本的原则,就是让数据库尽早、高效率的过滤数据,避免无效的运算,具体的手段比较多,需要根据不同的数据库来确定实现方案。

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题
推荐课程