查找('第一个'),查找('计数')或字段('id')...哪个更快?

时间:2013-06-24 12:43:05

标签: mysql performance cakephp cakephp-2.2

在速度方面有什么好处......

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

在将“字段”限制为“id”,find('first')find('count')的情况下执行field('id')会更快,其中任一语句的条件为{ {1}}。只返回1或0个结果。

1 个答案:

答案 0 :(得分:1)

假设您的表格索引正确,您可能不会看到差异。 Per @ mark的评论,请根据您的需求使用。

使用哪个逻辑应该是您的主要关注点。

如果你只是想看如果有一个,那么使用 field 最有意义,因为它的限制为1且只返回一个单场。

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

如果你想知道如果有的话,并检索它的数据,那么 first exists 是要走的路。