php查id号要不要加limit,php查询mysql中某id是否存在用哪个语句效率高?

本文探讨了在MySQL中查询特定ID是否存在时的几种方法,包括使用COUNT(*)、SELECT * 和SELECT 1 LIMIT 1。内容指出,对于大量数据,避免使用COUNT(*)和SELECT *,而应选择仅查询索引字段,如SELECT id FROM table WHERE id = 10 LIMIT 1,以提高查询效率。同时,建议避免在SQL中使用函数,确保充分利用索引来加速查询。
摘要由CSDN通过智能技术生成

我想在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是否存在

}

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

我觉得

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中使用函数吧。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值