数据库
首页 > 数据库> > thinkphp 关联查询with生成的sql是怎么查看?

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

作者:互联网

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

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

 

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

 

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

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

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

 怎么查看它生成的sql呢?

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

 生成的sql如下

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

标签:大时,关联,查询,数据量,sql,thinkphp,生成
来源: https://blog.csdn.net/u011383596/article/details/123104719