thinkphp 关联查询with生成的sql是怎么查看?

现在用thinkphp,基本用它的orm来做数据模型对象的关联。

比如主表,子表的关系,用hasMany。

thinkphp 关联查询with生成的sql是怎么查看?

 

用时一般是这样关联子表(item)

thinkphp 关联查询with生成的sql是怎么查看?

 

 这样用是方便,但在查询数据量大时,就很鸡肋,为什么呢?因为这样的关联查询生成的sql语句是用in方式。

我特确查阅了官方文档,明确说明hasOne有join,in方式。用join时,要设置setEagerlyType(0)

hasMany没有说明,但看它生成的sql是in。

thinkphp 关联查询with生成的sql是怎么查看?

 怎么查看它生成的sql呢?

在项目的根目录下,有个runtime/log/日期/日期_sql.log,如

thinkphp 关联查询with生成的sql是怎么查看?

 生成的sql如下

thinkphp 关联查询with生成的sql是怎么查看?

 数据量大时,用in是不会走索引的,所以在导出时,千万别用模型关联。

上一篇:一次失败的刷题经历:[LeetCode]292之尼姆游戏(Nim Game)(转)


下一篇:【NodeJS实战】建立TCP客户端发送二进制协议