mysql 判斷記錄是否存在方法比較
更新時間:2011年08月09日 16:54:53 作者:
把數據寫入到數據庫的時,常常會碰到先要檢測要插入的記錄是否存在,然后決定是否要寫入。
我這里總結了判斷記錄是否存在的常用方法:
sql語句:select count(*) from tablename;
然后讀取count(*)的值判斷記錄是否存在。對于這種方法性能上有些浪費,我們只是想判斷記錄記錄是否存在,沒有必要全部都查出來。
以下這個方法是我推薦的。
sql語句:select 1 from tablename where col = col limit 1;
然后讀取語句執(zhí)行所影響的行數。
當然這里limit 1很重要。這要mysql找到一條記錄后就不會在往下找了。這里執(zhí)行所影響的行數不是0就是1,性能提高了不少。
如果你用的是PDO,可以用rowCount(),很容易就都到執(zhí)行所影響的行數。
這里還有人可能會去讀取sql語句查詢到的記錄,然后判斷記錄是否存在,從而判斷記錄是否存在。這個方法雖然可行,但對于我們的要求來說,還是有些浪費,我們不需要查詢到的記錄,所有性能上會有損失。這里不推薦。
sql語句:select count(*) from tablename;
然后讀取count(*)的值判斷記錄是否存在。對于這種方法性能上有些浪費,我們只是想判斷記錄記錄是否存在,沒有必要全部都查出來。
以下這個方法是我推薦的。
sql語句:select 1 from tablename where col = col limit 1;
然后讀取語句執(zhí)行所影響的行數。
當然這里limit 1很重要。這要mysql找到一條記錄后就不會在往下找了。這里執(zhí)行所影響的行數不是0就是1,性能提高了不少。
如果你用的是PDO,可以用rowCount(),很容易就都到執(zhí)行所影響的行數。
這里還有人可能會去讀取sql語句查詢到的記錄,然后判斷記錄是否存在,從而判斷記錄是否存在。這個方法雖然可行,但對于我們的要求來說,還是有些浪費,我們不需要查詢到的記錄,所有性能上會有損失。這里不推薦。
相關文章
MySQL數據庫手冊DATABASE操作與編碼(小白入門篇)
這篇文章主要介紹了MySQL數據庫手冊DATABASE操作與編碼的小白入門篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05

