Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-哪个更好:选择还是选择计数?_Mysql - Fatal编程技术网

MySQL-哪个更好:选择还是选择计数?

MySQL-哪个更好:选择还是选择计数?,mysql,Mysql,假设我要检查的表中有一个字段,该字段中存储了“on”值。现在,以下哪一项是值得推荐的 SELECT COUNT(*) AS c FROM table WHERE field='on' if (c > 0) { //execute script } 或 第一种方法更好或更快 SELECT COUNT(*) AS c FROM table WHERE field='on' 因为if(c>0)比if(field=='on') 第一个更快,因为查询本身对记录进行计数,并且仅在where fie

假设我要检查的表中有一个字段,该字段中存储了“on”值。现在,以下哪一项是值得推荐的

SELECT COUNT(*) AS c FROM table WHERE field='on'
if (c > 0) { //execute script }


第一种方法更好或更快

SELECT COUNT(*) AS c FROM table WHERE field='on'
因为
if(c>0)
if(field=='on')

第一个更快,因为查询本身对记录进行计数,并且仅在where field='on'条件下获取所需的记录。因此,执行这样的查询所花费的时间更少,占用的内存也更少。 最有用的好处之一是加速

SELECT field FROM table
if (field == 'on') { //execute script }
第二个操作在使用大型数据库时需要花费时间,因为它从数据库中获取所有记录,然后我们检查field=='on'条件


所以第一个更好地实现。

为什么不:
从表中选择COUNT(*),其中field='on'具有COUNT(*)>0{//execute script}
这两个查询产生完全不同的输出,您想如何比较它们?我想比较哪一个更快,并且在繁重的环境中会做得更好。是不是
COUNT(*)
计数(字段)
慢?谢谢您的帮助。
SELECT COUNT(*) AS c FROM table WHERE field='on'
if (c > 0) { //execute script }
SELECT field FROM table
if (field == 'on') { //execute script }