亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

忻州市| 邯郸县| 万安县| 资溪县| 定安县| 南丹县| 东丰县| 旬阳县| 潼南县| 西丰县| 琼结县| 南昌县| 类乌齐县| 瓦房店市| 娄底市| 平凉市| 靖宇县| 池州市| 凤阳县| 桂阳县| 汕尾市| 湘乡市| 苍山县| 三明市| 富阳市| 文成县| 化德县| 临西县| 广安市| 中牟县| 军事| 德庆县| 敦化市| 常熟市| 凤山市| 纳雍县| 诏安县| 威远县| 平谷区| 惠安县| 郸城县|