中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL查找怎么優化

發布時間:2022-01-15 10:30:55 來源:億速云 閱讀:135 作者:iii 欄目:云計算

這篇文章主要講解了“SQL查找怎么優化”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SQL查找怎么優化”吧!

目前多數人的寫法

多次REVIEW代碼時,發現如現現象:

業務代碼中,需要根據一個或多個條件,查詢是否存在記錄,不關心有多少條記錄。普遍的SQL及代碼寫法如下
##### SQL寫法:
SELECT count(*) FROM table WHERE a = 1 AND b = 2

##### Java寫法:
int nums = xxDao.countXxxxByXxx(params);
if ( nums > 0 ) {
    //當存在時,執行這里的代碼
} else {
    //當不存在時,執行這里的代碼
}

是不是感覺很OK,沒有什么問題

優化方案

推薦寫法如下:

##### SQL寫法:
SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1
##### Java寫法:
Integer exist = xxDao.existXxxxByXxx(params);
if ( exist != NULL ) {
//當存在時,執行這里的代碼
} else {
//當不存在時,執行這里的代碼
}

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

COUNT()有兩個非常不同的作用:它可以統計某個列值的數量,也可以統計行數。在統計列值時要求列值是非空的(不統計NULL)。如果在COUNT()的括號中定了列或者列表達式,則統計的就是這個表達式有值的結果數。......COUNT()的另一個作用是統計結果集的行數。當MySQL確認括號內的表達式值不可能為空時,實際上就是在統計行數。最簡單的就是當我們使用COUNT(*)的時候,這種情況下通配符*并不像我們猜想的那樣擴展成所有的列,實際上,他會忽略所有列而直接統計所有的行數。

感謝各位的閱讀,以上就是“SQL查找怎么優化”的內容了,經過本文的學習后,相信大家對SQL查找怎么優化這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節
推薦閱讀:
  1. sql 優化
  2. SQL提高及優化

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

湖南省| 鲜城| 寻乌县| 灵武市| 泸西县| 贵州省| 古丈县| 沈阳市| 岚皋县| 绥滨县| 凌云县| 江口县| 当涂县| 饶平县| 邻水| 皮山县| 开化县| 开平市| 吐鲁番市| 兴安盟| 柳江县| 蓝田县| 辰溪县| 株洲县| 临泉县| 津南区| 祁连县| 北碚区| 潍坊市| 阳曲县| 鹤庆县| 舞钢市| 来安县| 宁陕县| 上虞市| 仁怀市| 庆安县| 永川市| 长子县| 分宜县| 绥江县|