为了账号安全,请及时绑定邮箱和手机立即绑定

sql性能和高并发的取舍问题

sql性能和高并发的取舍问题

BIG阳 2019-03-01 11:09:28
SELECT S.carOwnerID , S.name, S.mobile, S.coopName, S.VIN, s.policyNO, S.effectiveDate, S.expiryDate, s.plateNo, ( CASE WHEN s.num > 1 THEN 1 WHEN s.num = 1 THEN 0 END ) AS carState FROM ( SELECT c.carOwnerID, c.name, c.mobile, c.coopName, c.VIN, p.policyNO, p.effectiveDate, p.expiryDate, c.plateNo, count(p.PlateNo) AS num FROM customer C LEFT JOIN policy P ON C.carOwnerID = P.carOwnerID WHERE date_add( P.createTime, INTERVAL 11.5 HOUR ) > NOW() ) s WHERE s.num > 0; 简单的用多表关联是可以的,如果遇到高并发,性能缺陷立即就出来
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

多表关联并不意味着sql高性能,太复杂的SQL效率损耗并不比外部锁等低,跟高并发也没什么冲突。

建议把语句拆成简单语句,使用锁和补偿机制来保障事务性。

查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 544 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号