0
点赞
收藏
分享

微信扫一扫

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

吴wuwu 2022-02-24 阅读 107

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

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

 

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

 

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

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

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

 怎么查看它生成的sql呢?

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

 生成的sql如下

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

举报

相关推荐

0 条评论