Mysql 查找(';first';)、查找(';count';)或字段(';id';)……哪个更快?
在速度方面有什么更好的 我试图确定用户是否已将某个URL添加到快捷方式列表中。如果他们添加了URL,页面上将有一个链接,用于从快捷方式中删除页面,否则他们可以通过下拉菜单将其添加到快捷方式中,以便快速访问。不幸的是,我需要在每次页面加载时进行此检查,以便代码位于我的AppController中。我想尽我所能来加快这一进程。我不想缓存这个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->
执行
查找('first')
,同时将“字段”限制为“id”、执行查找('count')
,或执行字段('id')
,其中任一语句的条件都是'URL'=>$this->here
。只应返回1或0个结果。假设表的索引正确,则可能看不到差异。根据@mark的评论,选择适合您需要的选项
使用哪种逻辑应该是您主要关心的问题。
如果您只想查看是否有一个,那么使用字段
最有意义,因为它是限制1,只返回一个字段
如果你想知道有多少人,那么你需要计数
如果您想知道是否存在,并检索它的数据,那么首先
或者存在
是一种方法。假设表的索引正确,您可能看不到任何差异。根据@mark的评论,选择适合您需要的选项
使用哪种逻辑应该是您主要关心的问题。
如果您只想查看是否有一个
,那么使用字段
最有意义,因为它是限制1,只返回一个字段
如果你想知道有多少人,那么你需要计数
如果你想知道是否存在,并检索它的数据,那么首先
或者是否存在
是一条路。这无关紧要。如果你不在一个页面上使用它们100000次,它们的速度几乎是一样的(我希望你不要^^)。只需使用最合适的处理方式。如果您需要计数,请使用计数;如果您需要整个记录,请先使用;如果您只需要一个字段,请使用字段。谢谢。我会支持伯爵的,没关系。如果你不在一个页面上使用它们100000次,它们的速度几乎是一样的(我希望你不要^^)。只需使用最合适的处理方式。如果您需要计数,请使用计数;如果您需要整个记录,请先使用;如果您只需要一个字段,请使用字段。谢谢。我将继续支持伯爵。