时间:2021-07-01 10:21:17 帮助过:4人阅读
方法一:
$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是否存在
}
或者有没有更高效的方法?
我想在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中使用函数吧。。。