1

在速度方面哪个更好……</p>

我正在尝试确定用户是否已将某个 URL 添加到他们的快捷方式列表中。如果他们添加了 URL,页面上将有一个链接,可以从快捷方式中删除该页面,否则他们可以将其添加到快捷方式中,以便通过下拉菜单快速访问。不幸的是,我需要在每次页面加载时进行此检查,因此代码在我的 AppController 中。我想尽我所能加快速度。我不想缓存这个。

find('first')将“字段”限制为“id”、afind('count')或 afield('id')中任一语句的条件会是什么地方会更快吗'URL' => $this->here?应该只返回 1 或 0 个结果。

4

1 回答 1

1

假设您的表已正确编入索引,您可能看不到任何差异。根据@mark 的评论,使用适合您需要的任何一个。

使用哪个逻辑应该是您主要关心的问题。

如果您只是想查看IF there is one,那么 usingfield最有意义,因为它是 limit 1 并且只返回一个字段。

如果你想知道有多少,那么你需要count

如果您想知道IF 是否存在,并检索它的数据,那么firstorexists就是要走的路。

于 2013-06-24T21:07:51.037 回答