我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

sql里的inner join和=等号有区别吗?

比如:

select t1.*

from table1 t1, table2 t2

where t1.col1 = t2.col2

和

select t1.*

from table1 t1inner join table2 t2 on t1.col1 = t2.col2

虽然运行结果是一样的,但是数据量大的情况下,发现inner join会快一些。大家都用哪种写法?

结果一样,实现原理完全不同,join是基于hashtable连接比较,而=直接就是取笛卡尔集再过滤,所以后者效率低,是O(N^2),前者是O(LogN)

近期文章

  • 这是一个关于PYHTON的socket相关问题
  • 两个程序有什么不同吗?为什么一个AC一个WA?
  • c# vs2019不显示控制台输出
  • WA 为什么错?请dl解释
  • java 用import net.sf.json.JSONArray; import net.sf.json.JSONObject;这个工具转换的jsonArray?
  • 如何在drupal 6中更改管理页面样式
  • 如何在创建后将动态生成的PHP图像显示在网页上?
  • 比较$变量以获得分数
  • Mutt电子邮件不发送带有shell_exec的电子邮件
  • gmp_pow()不接受指数的GMP编号
  • 通过ajax请求发送Facebook图像路径
  • php MySQL数据库 - 访问被拒绝
  • php会话超时所有代码在一个页面中
  • 某些内容未附带CURL请求
  • 用GET方法改变变量
  • 为什么此查询返回不同的值?
  • Facebook FQL PHP - 获取朋友的好友列表?
  • Twitter Search API v1.1,仅限应用程序身份验证
  • PHP - 返回不正确的值
  • 在htaccess中设置charset时,是否需要设置php charset?

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华