@[toc]

1. 為什麼要用count(*)
在我們實際開發中,業務 往往是 如:(判斷該手機是否已經存在),我們為了提高程式的運作效率,這個時候都會使用
select count(*) from sys_user where phone = '18217692100'
//而我們Java代碼
Integer count = mapper.selectCount(phone);
//寫業務代碼
if(count != 0){
……
else{
……
}
2. 優化方案
select 1 from sys_user where phone = '1821762100' LIMIT 1
//而我們Java代碼
Integer count = mapper.selectCount(phone);
//寫業務代碼
if(count != null){
……
else{
……
}
-
SQL不再使用count,而是改用LIMIT 1,讓資料庫查詢時遇到一條就傳回,不要再繼續查找還有多少條了
業務代碼中直接判斷是否非空即可
- 正所謂 ,細節決定成敗 ,從速度上可以看出我們的優化方案快了好多
個人部落格位址:
http://blog.yanxiaolong.cn/