yii框架中数据库操作中PDO与ActiveRecord之间的性能对比

一、在用好AcitveRecord的状况下,即不要让其生成比拟二的SQL查询方式,我的阅历,不用过火在意那点时间功用上的区别的。关于大数据查询,内存空间上的话,在yii2中可以运用toArray()来节省内存消耗。

二、ActiveRecord之于PDO的优点在于其方便。

一个是相比于书写SQL语句,用ActiveRecord要复杂一点,更重要的是不容易出错。

二是提供了许多SQL语句之外的便利,比如参数过滤、绑定等等。这个web开发中你总要遇到吧,一个SQL语句一个SQL语句的写,代码复用水平不高不说,还容易某个中央遗忘过滤了,构成平安隐患。

三、Yii2中曾经有Query,功用上优于ActiveRecord,可以作为替代。当然,方便与效率是硬币的两面,其运用上不如ActiveRecord方便。但在项目中我的阅历是Query的运用频率仅略少于ActiveRecord,团体以为Query/ActiveQuery是Yii2中引入的一个激动人心的新feature。

四、前面几条说的是ActiveRecord的运用场景。关于PDO,假设要用的话,应该是关于比拟复杂的SQL操作,比如一两句话写不清楚的。这种状况下,运用ActiveRecord来构建,其复杂水平不亚于直接写SQL,那么可以思索运用PDO。但我印象中,假设项目中运用的SQL语句很复杂,会被写成DB的View或许存储进程,所以,觉得PDO运用并不多,可以说是极少的。

五、追求更高效率的话,团体也不以为应该过多运用PDO,这给前期维护带来极大的难度。倒是可以思索优化SQL查询,优化索引和表结构,运用缓存等。值得一提的是,运用缓存,是最复杂、直接,成效也最为清楚的手腕。

六、永远没必要过早思索功用效果。

提供最优质的资源集合

立即查看 了解详情