php查询mysql中某id是否存在用哪个语句效率高?
PHP中文网
PHP中文网 2017-04-10 17:29:44
[PHP讨论组]

我想在mysql一个表中查询某个id是否存在?请问下面两种方法哪个效率更高?

方法一:

$sql="SELECT COUNT(*) FROM `table` WHERE id=10";
$rst = mysql_query($sql);
$row = mysql_fetch_row($rst);
if($row[0]){
 //通过$row[0]是否为0来判断id=10是否存在
}

方法二:

$sql="SELECT * FROM `table` WHERE id=10";
$rst = mysql_query($sql);
$arr = mysql_fetch_assoc($rst);
if($arr){
 //通过数组$arr是否存在来判断id=10是否存在
}

或者有没有更高效的方法?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(6)
PHP中文网

我觉得

select id from `table` where id=10 limit 1

效率更高一点吧,当命中一条后不再继续

伊谢尔伦

SELECT id FROM table WHERE id=10

你的哪两句,一个要做count运算,不个不做,你说哪个效率高

伊谢尔伦

那还不如写select 1 from table where id = 10 limit 1呢,其实这几个我记得都差不多,

如果id做了索引的话,就不要去select非索引字段,这样查询就只需走索引文件就ok了

很久不用了

黄舟

如果只是来查询有没有,不要select ,一般ID都是索引,select ID就行,SQL语句,如果数据多,select ID和select 效率差的还是挺多的,可以用蠕虫复制自己生成几百万条数据比较下。

怪我咯

按我之前的印象,是COUNT的快

怪我咯

尽量不要在SQL中使用函数吧。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号