SQL查詢數(shù)據(jù)是否存在的實現(xiàn)示例
根據(jù)某一條件從數(shù)據(jù)庫表中查詢是否有數(shù)據(jù)存在。
大多數(shù)時候,我們習慣性使用count。
count
大多數(shù)時候,我們在業(yè)務中會“肌肉記憶”,使用count來做這樣的需求
mapper.xml中:
<select id="countBusinessNum" resultType="Integer"> SELECT COUNT(1) AS RESULT_NUM FROM TABLE_NAME WHERE COLUMN_A=1 </select>
后臺邏輯中:
Integer resultNum = sqlMapper.countBusinessNum(); if (0 < resultNum){ //存在 }else{ //不存在 }
然而在實際運行中,這種查詢依然會查詢到所有的符合條件的結(jié)果,然后進行計數(shù)。
優(yōu)化
mapper.xml中:
<select id="existOrNot" resultType="Integer"> SELECT 1 FROM TABLE_NAME WHERE COLUMN_A=1 LIMIT 1 </select>
后臺邏輯中:
Integer exist = sqlMapper.existOrNot(); if (null != exist){ //存在 }else{ //不存在 }
使用 LIMIT 1,讓數(shù)據(jù)庫查詢時遇到一條就返回,不再繼續(xù)查找了。業(yè)務代碼中直接判斷是否非空即可。
總結(jié)
當原SQL查詢結(jié)果中的返回數(shù)據(jù)條數(shù)越多的時候,性能優(yōu)化效果越明顯。
到此這篇關于SQL查詢數(shù)據(jù)是否存在的實現(xiàn)示例的文章就介紹到這了,更多相關SQL查詢數(shù)據(jù)是否存在內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
sqlserver 各種判斷是否存在(表名、函數(shù)、存儲過程等)
在sql server中,如何判斷sql server表是否存在呢?下面就將為您詳細介紹該方法,供您參考,希望對您加深理解sql server表能起到些許作用2013-02-02SQL?Server時間轉(zhuǎn)換3種方法總結(jié)
SQL?Server中處理日期和時間的常用方法有三種:FORMAT、CONVERT和DATEADD,這篇文章主要介紹了SQL?Server時間轉(zhuǎn)換的3種方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-09-09SqlServer數(shù)據(jù)庫創(chuàng)建用戶只賦予某個視圖權限
這篇文章主要給大家介紹了關于SqlServer數(shù)據(jù)庫創(chuàng)建用戶只賦予某個視圖權限的相關資料,在SQL Server中,要創(chuàng)建用戶并為其授權表可以通過以下步驟完成,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2024-03-03