SqlServer判斷記錄是否存在

判斷記錄是否存在,要不是語句不夠簡潔,要不就是性能有很大問題。

 

我進行了優化後,最簡潔簡單性能最優的的sql語句,用來判斷表中的記錄是否存在:

select isnull((select top(1) 1 from tableName where conditions), 0)

 

結果爲 1,則說明記錄存在;結果爲 0,則說明記錄不存在。 

 

網上的常見的有問題的語句:

 

錯誤1:

select COUNT(*) from tableName where conditions

count(*) 計算會對聚集索引進行掃描和計算,reads 特別多,特別是 cpu 資源佔用極大。

 

錯誤2:

if exists (select * from tableName where conditions) select '1' else select '0'

這種方法稍微有點靈性,但是卻很不簡潔。

同時由於 select * 前面有 exists ,所以該語句並沒有性能問題,只是語法不夠簡潔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章