为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网有个bug就是我反复拉进度条的时候他就失效了
免费的课程果然坑啊,看完没感觉
不错的,老师讲的不错,免费的干货,慢查询分析,优化sql,拆分表
count(条件1 or null)解释…
满足条件1 则为 true or null 结果为true 会被count统计
不满足1 则为false or null 结果为 null 不会被count 统计
利用了count( field-name) 不会统计null的特性
是的,这个字怎么能读错呢
至于为什么药要用or null。很简单mysql count()函数只统计不为null的表达式或值。1=4为0 再 or null结果为null,所以不统计,如果不加or null,则1=4为0,结果为0,count()会统计,因为count()统计的是不为空的,而不是不为0的。
这种方式,线上应该重来不会用把。索引用得差,慢。
冗余是rongyu吧
数据库优化从4个方向去优化
1、sql和索引,写出健壮的sql,索引不是越多越好
2、数据表结构(存储引擎,字段大小,字段类型,索引,第三规范)
3、系统配置(打开文件系统次数,文件安全性)
4、硬件(更合适的cup,更大的内存,更快的io,cup并不是越大越好)
我觉得订单商品表的商品ID,商品数量、商品价格可以加到订单表,然后商品表要有商品价格等。
讲不清楚 浪费时间 不讲为什么
吐槽一下 这种写法很容易误导学渣 Oracle不支持这种count(year='2006' or null)的写法 不支持表达式比较运算
@日落伤心色 哈哈,其实你这样也是不对的,你去掉那个条件和老师的意思也是一样的,limit 1,5 也是从601-605的意思,真实开发中不能保证601-605都是我们想要的数据,所以改写成limit 5 才是比较合适的 个人观点哈
讲的很棒啊 赞一个
为什么要加or null?1.因为count(参数) 只要参数不为null,都会进行计数,只写year=2006(相当于year==2006)是个true,计数,如果不加or null,那么year==2007 或者year==2008是个false,也会进行计数。2.如果加了or null 的话 ,year==2006是个ture,true or null 是true 会计数;year==2007是个false,false or null 等于null,则不会计数。可以参考这个文章https://wangyaoxu.github.io/2017/09/21/mysql-count/
课程须知
想要学好这门课程,你需要具备MySQL数据库的基本知识,如果具有相关的工作经验并且希望能提升工作技能的话,这门课程就再适合不过了。
老师告诉你能学到什么?
1、了解数据库优化的各个方面的方法和技巧 2、如何对SQL语句和索引进行优化 3、如何对数据库结构及运行环境进行优化

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消