文章详情页
java - sql性能和高并发的取舍问题
问题描述
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. 引用 node.js express加载 静态文件 报错 ??2. javascript - 引入 simditor,但是显示标签,这个怎么解决。3. angular.js - 全站用的angular,但是像下面描述的这样强交互的功能用angular该用什么思路去做呢?4. angular.js - 如何让图片遇到父容器边缘自动换行显示,不会溢出5. angular.js - 关于ui-sref地址栏缺省的问题6. angular.js - 在angular中,使用ng-repeat循环输出一个列表,然后节当中具体的一个参数值(是数值),然后整个循环节的值总数相加7. angular.js - 用ng serve运行一个angular2的项目,结果出错,运行不了?有没有朋友遇到过,告知一下怎么运行起来。8. android - 目前有哪些用Vue.js开发移动App的方案?9. angular.js - 学习ng路由模块遇到点击链接到锚点时URL后面多出个#!是怎么回事10. mysql - 索引过滤性不好是由什么原因引起的,应该怎么解决
排行榜