SQL查詢數(shù)據(jù)是否存在的實(shí)現(xiàn)示例
根據(jù)某一條件從數(shù)據(jù)庫(kù)表中查詢是否有數(shù)據(jù)存在。
大多數(shù)時(shí)候,我們習(xí)慣性使用count。
count
大多數(shù)時(shí)候,我們?cè)跇I(yè)務(wù)中會(huì)“肌肉記憶”,使用count來(lái)做這樣的需求
mapper.xml中:
<select id="countBusinessNum" resultType="Integer"> SELECT COUNT(1) AS RESULT_NUM FROM TABLE_NAME WHERE COLUMN_A=1 </select>
后臺(tái)邏輯中:
Integer resultNum = sqlMapper.countBusinessNum(); if (0 < resultNum){ //存在 }else{ //不存在 }
然而在實(shí)際運(yùn)行中,這種查詢依然會(huì)查詢到所有的符合條件的結(jié)果,然后進(jìn)行計(jì)數(shù)。
優(yōu)化
mapper.xml中:
<select id="existOrNot" resultType="Integer"> SELECT 1 FROM TABLE_NAME WHERE COLUMN_A=1 LIMIT 1 </select>
后臺(tái)邏輯中:
Integer exist = sqlMapper.existOrNot(); if (null != exist){ //存在 }else{ //不存在 }
使用 LIMIT 1,讓數(shù)據(jù)庫(kù)查詢時(shí)遇到一條就返回,不再繼續(xù)查找了。業(yè)務(wù)代碼中直接判斷是否非空即可。
總結(jié)
當(dāng)原SQL查詢結(jié)果中的返回?cái)?shù)據(jù)條數(shù)越多的時(shí)候,性能優(yōu)化效果越明顯。
到此這篇關(guān)于SQL查詢數(shù)據(jù)是否存在的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)SQL查詢數(shù)據(jù)是否存在內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
sql 隨機(jī)抽取幾條數(shù)據(jù)的方法 推薦
前段時(shí)間在做項(xiàng)目的時(shí)刻??偸怯龅竭@樣一個(gè)問題。就是要怎么去讓首頁(yè)顯示的內(nèi)容不斷的變化。想了很久。也沒有什么結(jié)果。后面去想了一下。得出以下一個(gè)結(jié)果2009-06-06SQL SERVER中關(guān)于exists 和 in的簡(jiǎn)單分析
這篇文章主要介紹了SQL SERVER中關(guān)于exists 和 in的簡(jiǎn)單分析,需要的朋友可以參考下2014-08-08隱藏在SQLServer 字段中的超詭異字符解決過(guò)程
這套系統(tǒng)做了大半年,這個(gè)導(dǎo)入導(dǎo)出還是問題不斷,我負(fù)責(zé)的這塊導(dǎo)入導(dǎo)出就是夾在網(wǎng)絡(luò)版和單機(jī)版系統(tǒng)之間,只要任何一邊對(duì)數(shù)據(jù)庫(kù)做了改動(dòng)這個(gè)導(dǎo)入導(dǎo)出就會(huì)失敗。哎,煩心的事不止這些,最近又遇到了一個(gè)非常奇怪的問題。2009-10-10sqlserver 各種判斷是否存在(表名、函數(shù)、存儲(chǔ)過(guò)程等)
在sql server中,如何判斷sql server表是否存在呢?下面就將為您詳細(xì)介紹該方法,供您參考,希望對(duì)您加深理解sql server表能起到些許作用2013-02-02SQL?Server時(shí)間轉(zhuǎn)換3種方法總結(jié)
SQL?Server中處理日期和時(shí)間的常用方法有三種:FORMAT、CONVERT和DATEADD,這篇文章主要介紹了SQL?Server時(shí)間轉(zhuǎn)換的3種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09重命名SQLServer數(shù)據(jù)庫(kù)的方法
本文講解重命名SQLServer 數(shù)據(jù)庫(kù),包括物理文件名、邏輯文件名的改名2012-07-07SqlServer數(shù)據(jù)庫(kù)創(chuàng)建用戶只賦予某個(gè)視圖權(quán)限
這篇文章主要給大家介紹了關(guān)于SqlServer數(shù)據(jù)庫(kù)創(chuàng)建用戶只賦予某個(gè)視圖權(quán)限的相關(guān)資料,在SQL Server中,要?jiǎng)?chuàng)建用戶并為其授權(quán)表可以通過(guò)以下步驟完成,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03