SQL查找是否"存在",別再count了!
目前多數(shù)人的寫法
多次REVIEW代碼時(shí),發(fā)現(xiàn)如下現(xiàn)象:
相關(guān)閱讀:2T架構(gòu)師學(xué)習(xí)資料干貨分享
##### SQL寫法:SELECT count(*) FROM table WHERE a = 1 AND b = 2##### Java寫法:int nums = xxDao.countXxxxByXxx(params);if ( nums > 0 ) {//當(dāng)存在時(shí),執(zhí)行這里的代碼} else {//當(dāng)不存在時(shí),執(zhí)行這里的代碼}
優(yōu)化方案
推薦寫法如下:
##### SQL寫法:SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1##### Java寫法:Integer exist = xxDao.existXxxxByXxx(params);if ( exist != NULL ) {//當(dāng)存在時(shí),執(zhí)行這里的代碼} else {//當(dāng)不存在時(shí),執(zhí)行這里的代碼}
總結(jié)
根據(jù)查詢條件查出來的條數(shù)越多,性能提升的越明顯,在某些情況下,還可以減少聯(lián)合索引的創(chuàng)建。
3、心態(tài)崩了!稅前2萬4,到手1萬4,年終獎(jiǎng)扣稅方式1月1日起施行~
4、雷軍做程序員時(shí)寫的博客,很強(qiáng)大!
評(píng)論
圖片
表情
