熱線電話:13121318867

登錄
首頁精彩閱讀sql語句中盡量不要使用復雜的函數運算
sql語句中盡量不要使用復雜的函數運算
2018-03-16
收藏

sql語句中盡量不要使用復雜的函數運算

有時候我們對數據進行處理,可能有不同的處理結果存入數據庫,比如result字段中存入:通過時存入success:1;不通過時存入success:0;無法處理時存入success:-1。如果要我們統計當天通過,不通過和無法處理的各有多少條,我們很容易想到case when命令,sql語句如下:

SELECT
            SUM(CASE WHEN result LIKE '%"success":1%' THEN 1 ELSE 0 END) passNum,
            SUM(CASE WHEN result LIKE '%"success":0%' THEN 1 ELSE 0 END) notPassNum,
            SUM(CASE WHEN result LIKE '%"success":-1%' THEN 1 ELSE 0 END) cantCheckNum
        
FROM tableName WHERE  c_date = 'today'

這個sql語句一下就把結果全部處理了,非常的方便,我們只需要使用一個對象接受一下在頁面展示。

但是我想說我們盡量不要使用case when,DATEDIFF等復雜的函數。因為數據庫特別是mysql,雖然提供了這些方法,但是如果訪問量特別的大,數據內容特別的多,很容易造成速度變慢,甚至數據庫的崩潰。如果只是公司內部用,訪問量不大,還是沒關系的。越大型的項目越不要用這些復雜的sql語句,盡量將所有數據都查出來,在代碼中進行處理。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢