php查詢mysql中某id是否存在用哪個語句效率高?

來源:互聯網
上載者:User
關鍵字 php mysql
我想在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是否存在}

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

回複內容:

我想在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中使用函數吧。。。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.