zoukankan      html  css  js  c++  java
  • 多表查询用 join 好吗

          SQL连接查询的由来:人们对20实际80年代的SQL标准提出批评,认为SELECT语句中无直接的连接或自然连接操作。SQL吸收了这个意见,用较为直接的形式表示各式各样的连接操作,这些操作可在FROM字句中以直接的形式指出。在书写两个关系的连接操作时,SQL2把连接操作符分成连接类型和连接条件两部分(如果图1)连接类型决定了如何处理连接条件中不匹配的元祖。连接条件决定了两个关系中哪些元祖应该匹配,以及连接结果中出现哪些属性。

    图1

    连接类型 连接条件
    INNER JOIN(内连接) NATURAL(写在连接类型的左边)
    LEFT OUTER JOIN(左外连接) ON 写在连接类型的右边
    RIGHT OUTER JOIN(右外连接) USING 写在连接类型的右边
    FULL OUTER JOIN(完全外连接)  
       

           SQL join 连接的限制:出了sql join 连接查询后,是方便了我们查询。但是当数据超过千万条时却不能再用join了因为此时如果用join的话速度会很慢。这就是好多程序员再优化程序时经常做的一部。去查找有没有过万的表去join过万数据的表。然后把它拆开。这样会明显增加速度。

    还有为了增加查询速度在经常用到的字段,还有where后面经常用的也可以加一些非聚集索引等来加快查询的速度。

           总之大数据避免用join连接查询(因为用join的时候库在做笛卡尔基如果数据量过大会很慢的,甚至卡死)。

  • 相关阅读:
    sublime3使用
    内存缓存 ehcache
    一些服务端写代码的规范,很重要
    对于算法的一点思考
    使用单元测试引发的一些思考
    在多线程中使用spring的bean
    一个线上缓存异常
    java 中的同步机制
    微服务中的集成测试
    服务升级中的zookeeper
  • 原文地址:https://www.cnblogs.com/honghong75042/p/2630316.html
Copyright © 2011-2022 走看看