亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费

快速導航×

SQL判斷是否-存在-,還在用 count 操作-很耗時(shí)的發(fā)表于: 2026-05-04 20:47:17

這篇文章主要介紹了SQL判斷是斷否否"存在(zai)",還在用 count 操作?很耗時(shí)的(de)!本文通過(guò)實(shí)例代碼給大家介紹的存還操作非常詳細,對大家的斷否學(xué)習或工作具有一定的參考借鑒價(jià)值,需要的存還操作朋友可以參考下

根據某一條件從數據庫表中查詢(xún) 『有』與『沒(méi)有』,只有兩種狀態(tài),斷否那為什么在寫(xiě)SQL的存還操作時(shí)候,還要select count(*) 呢?斷否

無(wú)論是剛入道的程序員新星,還是存還操作精(jing)湛沙場(chǎng)多年的程序員ヽ(′ー`)ノ老白,都是??斷??否一如既往的count.

目前多數人的寫(xiě)法

多次 review 代碼時(shí),發(fā)現如現現象:

業(yè)務(wù)代碼中,存還操作需要??根據一個(gè)或多個(gè)條件,斷否查詢(xún)是存還操作否存在記錄,不關(guān)心有多少條記錄。斷否普遍的存還操作SQL及代碼??寫(xiě)法(fa)如下

SQL寫(xiě)法:

SELECT count(*) FROM table WHERE a = 1 AND b = 2

Java寫(xiě)法:

int nums = xxD(′;д;`)ao.countXxxxByXxx(params);
if ( nums > 0 ) {
//當存在時(shí),執行這里的斷否代碼
} else {
//當不存(cun)在時(shí),執行這里的代碼
}

是不是感覺(jué)很OK,沒(méi)有什么問(wèn)題

優(yōu)化方案??

推薦寫(xiě)法如下:

SQL寫(xiě)法:

SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1

Java寫(xiě)法:

Integer exist = xxDao.ex(/ω\)istXxxxByXxx(params);
if ( exist != NULL ) {
//當存在時(shí),執行這里的代碼
} else {
//當不存在時(shí),執行這里的代碼
}

SQL不再??使用count,而是改用LIMIT 1,讓數據庫查詢(xún)時(shí)遇到一條就返回,不要再繼續查找還有多少條了

業(yè)務(wù)代碼中直接判斷是否非空即可

總結

根據查詢(xún)條件查出來(lái)的條數越多,性能提升(/ω\)的越明顯,在某些情況下,還(°o°)可以減少聯(lián)合索引的創(chuàng )建。

到此這篇關(guān)于SQL判斷是否"存在",還在用 count 操作?很耗時(shí)的!的文章就介紹到(′▽?zhuān)?這了,更多相關(guān)SQL判斷是否"存在"內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持??腳本之家!(╯°□°)╯

來(lái)源:腳本之家

鏈接:https://www.jb51.net/article/2( ?ヮ?)02415.htm

亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费 丰镇市| 闽清县| 临西县| 长白| 岑溪市| 浙江省| 札达县| 吉水县| 柏乡县| 南召县| 秦皇岛市| 鹤壁市| 岫岩| 阜阳市| 天等县| 永宁县| 河津市| 平度市| 蕉岭县| 布拖县| 波密县| 蒲城县| 金塔县| 酒泉市| 临夏县| 潼关县| 台中市| 且末县| 聂荣县| 海晏县| 定结县| 桑植县| 衢州市| 汽车| 彩票| 云安县| 北宁市| 昂仁县| 博爱县| 同江市| 大城县| http://444 http://444 http://444 http://444 http://444 http://444