PHP教程

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是不会走索引的,所以在导出时,千万别用模型关联。

这篇关于thinkphp 关联查询with生成的sql是怎么查看?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!