Mysql 查找(';first';)、查找(';count';)或字段(';id';)……哪个更快?

Mysql 查找(';first';)、查找(';count';)或字段(';id';)……哪个更快?,mysql,performance,cakephp,cakephp-2.2,Mysql,Performance,Cakephp,Cakephp 2.2,在速度方面有什么更好的 我试图确定用户是否已将某个URL添加到快捷方式列表中。如果他们添加了URL,页面上将有一个链接,用于从快捷方式中删除页面,否则他们可以通过下拉菜单将其添加到快捷方式中,以便快速访问。不幸的是,我需要在每次页面加载时进行此检查,以便代码位于我的AppController中。我想尽我所能来加快这一进程。我不想缓存这个 执行查找('first'),同时将“字段”限制为“id”、执行查找('count'),或执行字段('id'),其中任一语句的条件都是'URL'=>$this->

在速度方面有什么更好的

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


执行
查找('first')
,同时将“字段”限制为“id”、执行
查找('count')
,或执行
字段('id')
,其中任一语句的条件都是
'URL'=>$this->here
。只应返回1或0个结果。

假设表的索引正确,则可能看不到差异。根据@mark的评论,选择适合您需要的选项

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

如果您只想查看是否有一个,那么使用
字段
最有意义,因为它是限制1,只返回一个字段

如果你想知道有多少人,那么你需要计数


如果您想知道是否存在,并检索它的数据,那么首先
或者
存在
是一种方法。

假设表的索引正确,您可能看不到任何差异。根据@mark的评论,选择适合您需要的选项

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

如果您只想查看是否有一个
,那么使用
字段
最有意义,因为它是限制1,只返回一个字段

如果你想知道有多少人,那么你需要计数


如果你想知道是否存在,并检索它的数据,那么首先
或者
是否存在
是一条路。

这无关紧要。如果你不在一个页面上使用它们100000次,它们的速度几乎是一样的(我希望你不要^^)。只需使用最合适的处理方式。如果您需要计数,请使用计数;如果您需要整个记录,请先使用;如果您只需要一个字段,请使用字段。谢谢。我会支持伯爵的,没关系。如果你不在一个页面上使用它们100000次,它们的速度几乎是一样的(我希望你不要^^)。只需使用最合适的处理方式。如果您需要计数,请使用计数;如果您需要整个记录,请先使用;如果您只需要一个字段,请使用字段。谢谢。我将继续支持伯爵。