背景
今天收到後臺管理消息,現在數據量太大,有些實時統計的數據頁面現在查詢速度很慢,需要在進行寫操作時,進行統計,後臺管理直接讀表,較少後臺統計的壓力,提高後臺管理查詢速度。
舉個例子
用戶新增商品時,順便統計下用戶的商品數量,這樣每次寫操作,順便更新用戶的商品數據,這樣後臺管理直接讀取,不用統計。
思路
對於統計,怎麼才能儘量不影響原來的功能,改動量最少,最好不改Java代碼?如果不改代碼,就要從sql語句考慮,是不是可以在新增時,在執行一條更新?就需要兩條SQL同時執行,根據經驗是有辦法的。
實踐
mysql 默認是不支持,多條SQL同時執行的,但是可以在連接配置中添加一個配置,便可以支持,“allowMultiQueries=true”
作用:
1.可以在sql語句後攜帶分號,實現多語句執行。
2.可以執行批處理,同時發出多個SQL語句。
測試
原SQL三條:
沒有增加這個配置前執行
增加這個配置後執行
總結
作爲開發者,我們在改動代碼時,要講究效率,對於新增的需求,我們要儘量考慮少動代碼,以此來減少錯誤率。希望這個技巧,可以幫到我們。如果有疑問歡迎探討。
參考: