文章詳情頁
java - sql性能和高并發的取舍問題
瀏覽:111日期:2023-11-25 11:16:25
問題描述
SELECT
S.carOwnerID ,S.name,S.mobile,S.coopName,S.VIN,s.policyNO,S.effectiveDate,S.expiryDate,s.plateNo,( CASE WHEN s.num > 1 THEN1 WHEN s.num = 1 THEN0 END) AS carState FROM( SELECTc.carOwnerID,c.name,c.mobile,c.coopName,c.VIN,p.policyNO,p.effectiveDate,p.expiryDate,c.plateNo,count(p.PlateNo) AS num FROMcustomer C LEFT JOIN policy P ON C.carOwnerID = P.carOwnerID WHEREdate_add( P.createTime, INTERVAL 11.5 HOUR) > NOW()) s WHEREs.num > 0;
簡單的用多表關聯是可以的,如果遇到高并發,性能缺陷立即就出來
問題解答
回答1:多表關聯并不意味著sql高性能,太復雜的SQL效率損耗并不比外部鎖等低,跟高并發也沒什么沖突。
建議把語句拆成簡單語句,使用鎖和補償機制來保障事務性。
標簽:
java
相關文章:
1. 網頁爬蟲 - python 爬取網站 并解析非json內容2. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處3. node.js - nodejs開發中常用的連接mysql的庫4. linux - python 抓取公眾號文章遇到驗證問題5. mysql - jdbc的問題6. python - 編碼問題求助7. 視頻文件不能播放,怎么辦?8. mysql - 如何減少使用或者不用LEFT JOIN查詢?9. python - 我在使用pip install -r requirements.txt下載時,為什么部分能下載,部分不能下載10. 為啥最大化個窗口還得找一堆理由?
排行榜
