墨轩娣

墨轩娣

这家伙有点懒,还没写个性签名!

  • 财富值

    18265

  • 威望值

    40

  • 总积分

    19865

个人信息

  • 2018-12-19 已签到
    连续签到532天,获得了20个金钱
  • 2018-12-18 已签到
    连续签到531天,获得了20个金钱
  • 回复了 的回答

    1、如果是主键,他们的速度是一样的,因为sql是一样的,虽然最后一个有limit但是因为只有一条记录所以没啥影响
    2、如果是普通查询,

    AR::findOne(['name' => '张三']);
    AR::find()->where(['name' => '张三'])->one();
    

    这两个sql应该都是要去获取匹配到的记录,然后再取其中一条,速度应该一样的。

    AR::find()->where(['name' => '张三'])->limit(1)->one();
    

    最后这个因为限定了只取匹配到的一条,理论上是比上面的2条快

    总结下来,就是:

    1. 如果是主键查询,哪个都一样,推荐AR::findOne()
    2. 如果是条件查询,使用AR::find()->where(['name' => '张三'])->limit(1)->one()会快一些,因为sql返回的只有一条记录
  • 2018-12-17 已签到
    连续签到530天,获得了20个金钱
  • 2018-12-16 已签到
    连续签到529天,获得了20个金钱
  • 2018-12-15 已签到
    连续签到528天,获得了20个金钱
  • 2018-12-14 已签到
    连续签到527天,获得了20个金钱
  • 赞了说说
    来晚了各位大兄弟 一如既往给自己还有电脑屏幕前的你加油,嘿嘿 加油鸭
  • 2018-12-13 已签到
    连续签到526天,获得了20个金钱
19865/20000
资料完整度
50/100
用户活跃度
90/100

Ta的关注

4

Ta的粉丝

31

Ta的访客

164