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,如果在查询前面加上
|
hello_programmers · Mysql从其他表输出一列 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
Kugelfisch · 用php为数据库加密数据 1 年前 |