![]() |
1
10
1-不用动脑筋,用I型 2-类型II连接也称为“隐式连接”,而类型I称为“显式连接”。使用现代的DBMS,普通查询不会有任何性能问题。但我认为对于一些大型复杂的多连接查询,DBMS可能会对隐式连接产生问题。使用显式连接只能改进您的解释计划,所以更快的结果! 3-所以性能可能是个问题,但最重要的可能是,可读性的提高,以便进一步维护。显式联接精确地解释了您想要在哪个字段上联接什么,而隐式联接不显示您是否进行了联接或筛选。Where子句用于filter,而不是join! 显式连接的一大特点是:外部连接对于隐式连接来说非常烦人。当您希望使用外部连接进行多个连接时,很难理解,因此显式连接是解决方案。 4-执行计划是你需要的( See the doc 一些副本: Explicit vs implicit SQL joins |
![]() |
2
1
在我所看到的大多数代码中,这些查询都是像您的Type-II那样完成的,但是我认为Type-i更好,因为可读性(而且逻辑性更高,连接就是一个连接,所以您应该将其作为一个连接来编写(尽管第二个连接只是内部连接的另一种编写风格))。
|
![]() |
3
1
|
![]() |
4
1
我的建议。 用一定数量的记录更新所有表。访问MySQL控制台,逐个运行sqlboth命令。您可以在控制台中看到执行时间。 |
![]() |
5
1
对于MySQL,如果在查询前面加上
|
![]() |
GuillaumeRZ · 创建视图:MySQL内部联接别名 7 年前 |
![]() |
Aakash Singh · 查询加载数据花费的时间太长 7 年前 |
![]() |
BCH · 从Select更新-语法和概念检查(mySQL) 7 年前 |
![]() |
David · 在中使用Sql server 7 年前 |
![]() |
Jason Coigny · 组合多个sql语句 7 年前 |
![]() |
J. Wolf · 如何内部联接3个表? 7 年前 |
![]() |
WoodChuckChuck · 通过VBA将查询连接到DBF 7 年前 |
![]() |
C. Ball · 如何使SQL内部联接绕过表? 7 年前 |