今天小編給大家分享一下SQL查找優(yōu)化的方法是什么的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供佳木斯網(wǎng)站建設(shè)、佳木斯做網(wǎng)站、佳木斯網(wǎng)站設(shè)計(jì)、佳木斯網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、佳木斯企業(yè)網(wǎng)站模板建站服務(wù),10余年佳木斯做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
多次REVIEW代碼時(shí),發(fā)現(xiàn)如現(xiàn)現(xiàn)象:
業(yè)務(wù)代碼中,需要根據(jù)一個(gè)或多個(gè)條件,查詢是否存在記錄,不關(guān)心有多少條記錄。普遍的SQL及代碼寫(xiě)法如下
#### SQL寫(xiě)法:
SELECT count(*) FROM table WHERE a = 1 AND b = 2
#### Java寫(xiě)法:
int nums = xxDao.countXxxxByXxx(params);
if ( nums > 0 ) {
//當(dāng)存在時(shí),執(zhí)行這里的代碼
} else {
//當(dāng)不存在時(shí),執(zhí)行這里的代碼
}
是不是感覺(jué)很OK,沒(méi)有什么問(wèn)題
推薦寫(xiě)法如下:
#### SQL寫(xiě)法:
SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1
#### Java寫(xiě)法:
Integer exist = xxDao.existXxxxByXxx(params);
if ( exist != NULL ) {
//當(dāng)存在時(shí),執(zhí)行這里的代碼
} else {
//當(dāng)不存在時(shí),執(zhí)行這里的代碼
}
SQL不再使用count
,而是改用LIMIT 1
,讓數(shù)據(jù)庫(kù)查詢時(shí)遇到一條就返回,不要再繼續(xù)查找還有多少條了
業(yè)務(wù)代碼中直接判斷是否非空即可
以上就是“SQL查找優(yōu)化的方法是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。