沈阳市众诚志联网络技术有限公司
  • 首页
  • 服务项目
    • 服务器托管
    • 服务器租用
    • 云主机VPS
    • 服务器代维
  • 技术文摘
  • 资讯中心
    • 最新公告
    • 行业资讯
  • 合作伙伴
  • 关于我们
    • 公司简介
    • 联系我们
    • 人才招聘
    • 机房介绍
  1. 沈阳服务器托管租用代维 > 技术文摘 >
Mysql多表join联合查询
众诚志联记 网络 点击:83 次

        数据库是存储数据的软件,在我们日常的工作中经常会用到数据库。作为后台必不可少的软件,不论是管理软件还是网站等都会用到数据库。我们如果能了解一些简单的数据库操作命令,可以为我们的工作带来便利。这里说一下关于多表的查询join关键字的用法和流程。

       1,from语句把student表 和 student_subject表从数据库文件加载到内存中。

 

      2,join语句相当于对两张表做了乘法运算,把student表中的每一行记录按照顺序和student_subject表中记录依次匹配。

 

     3,匹配完成后,我们得到了一张有 (student中记录数 × student_subject表中记录数)条的临时表。 在内存中形成的临时表如表1.0所示。我们又把内存中表1.0所示的表称为‘笛卡尔积表’。

 

  针对以上的理论,我们提出一个问题,难道表连接的时候都要先形成一张笛卡尔积表吗,如果两张表的数据量都比较大的话,那样就会占用很大的内存空间这显然是不合理的。所以,我们在进行表连接查询的时候一般都会使用JOIN xxx ON xxx的语法,ON语句的执行是在JOIN语句之前的,也就是说两张表数据行之间进行匹配的时候,会先判断数据行是否符合ON语句后面的条件,再决定是否JOIN。

 

  因此,有一个显而易见的SQL优化的方案是,当两张表的数据量比较大,又需要连接查询时,应该使用 FROM table1 JOIN table2 ON xxx的语法,避免使用 FROM table1,table2 WHERE xxx 的语法,因为后者会在内存中先生成一张数据量比较大的笛卡尔积表,增加了内存的开销。

 

我们的服务
  • 服务器托管
  • 服务器租用
  • 云主机VPS
  • 服务器代维
  • 技术文摘
最新更新
  • 服务器租用攻略,请查收
  • 服务器租用与托管的区别
  • tcping端口测试工具使用
  • 服务器的租用,我们更应该注重什
  • 服务器托管与租用的区别
联系我们
  • 沈阳市众诚志联网络技术有限公司

    沈阳市和平区三好街72-7号312室

  • 024-23991818 / 13555899001

  • admin#23991818.com

我们的服务
  • 服务器托管
  • 服务器租用
  • 云主机VPS
  • 服务器代维
  • 技术文摘
  • 合作伙伴
友情链接

宝 幼

网站备案号:辽ICP备11018142号-6 IDC许可证编号:辽B1-20150115

沈阳市众诚志联网络技术有限公司公众号