项目是基于框架Yii 2.0开发的。
今天梳理一些数据统计功能代码的时候,想把当前运行的sql语句打印出来,然后放到navicat工具里面运行,并分析一下运行效率和调优方案,之前大部分时候都是写增加、删除、修改、查询,这个打印sql语句的还真是用的很少,去官网查了一下资料,完美解决。
Yii 2.0提供2种数据操作方式,一种是数据模型【models】,一种是【yiidbQuery()】,具体使用哪种,看个人喜好。
models模式打印sql语句举例如下:
1 $query = User::find()->where(['id'=>[1,2,3,4])->select(['username']) 2 echo $query->createCommand()->getRawSql();
yiidbQuery()模式打印sql语句举例如下:
1 $query = (new yiidbQuery())->select('id')->from('channel')->where('id = 1'); 2 echo $query->createCommand()->getRawSql();