服务与支持 |咨询热线 0931-8733767
  • 金城在线
  • 公司简介
  • 发展历程
  • 企业文化
  • 售后服务
  • 工作机会
  • 联系我们

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

来源:发布时间:2017-11-27 10:24:43

        一、在用好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查询,优化索引和表结构,使用缓存等。值得一提的是,使用缓存,是最简单、直接,成效也最为明显的手段。

        六、永远没必要过早考虑性能问题


相关文章
  • 预约专家

    为您提供一对一解决方案
    立即预约
  • 售前咨询

    周一至周五9:00——17:30
    立即咨询
  • 联系方式

    13919049954

    全国7×24小时热线服务
  • 免费报价

    专属专业顾问1对1报价
    免费报价