java - sql性能和高并發(fā)的取舍問題
問題描述
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;
簡單的用多表關(guān)聯(lián)是可以的,如果遇到高并發(fā),性能缺陷立即就出來
問題解答
回答1:多表關(guān)聯(lián)并不意味著sql高性能,太復(fù)雜的SQL效率損耗并不比外部鎖等低,跟高并發(fā)也沒什么沖突。
建議把語句拆成簡單語句,使用鎖和補償機制來保障事務(wù)性。
相關(guān)文章:
1. python - 如何統(tǒng)計一份英文 API 開發(fā)文檔(如 javadoc文檔)的詞頻?2. mysql優(yōu)化 - mysql 一張表如果不能確保字段列長度一致,是不是就不需要用到char。3. python - oslo_config4. 請教一個mysql去重取最新記錄5. python - 請問這兩個地方是為什么呢?6. python - 為什么match匹配出來的結(jié)果是<_sre.SRE_Match object; span=(0, 54), match=’’>7. javascript - 按鈕鏈接到另一個網(wǎng)址 怎么通過百度統(tǒng)計計算按鈕的點擊數(shù)量8. 人工智能 - python 機器學(xué)習(xí) 醫(yī)療數(shù)據(jù) 怎么學(xué)9. php - 有關(guān)sql語句反向LIKE的處理10. 大家都用什么工具管理mysql數(shù)據(jù)庫?
