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

最赞回答 / 阳光下的疼爱_
https://www.zam9.com/blog/mysql_opt01这个是我在学习这个视频的适合整理的笔记,里面也提供了笔记文档的下载地址。希望对你有用?
至于为什么药要用or null。很简单mysql count()函数只统计不为null的表达式或值。1=4为0 再 or null结果为null,所以不统计,如果不加or null,则1=4为0,结果为0,count()会统计,因为count()统计的是不为空的,而不是不为0的。
这种方式,线上应该重来不会用把。索引用得差,慢。
数据库优化从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/

最新回答 / 慕田峪3274475
sql中可以强制使用索引 force index  具体你百度一下就知道了

最赞回答 / 喵小娜
退出数据库登陆状态,然后再试试

最新回答 / greenYe
我用的是windows,语句是这样的 set global slow_query_log_file='C:\\Program Files\\MySoft\\mysql-5.6.38-winx64\\data\\slow_query.log';   如果是linux,,,可以尝试下 set global slow_query_log_file='/xxx/xxx/xxx.log'
课程须知
想要学好这门课程,你需要具备MySQL数据库的基本知识,如果具有相关的工作经验并且希望能提升工作技能的话,这门课程就再适合不过了。
老师告诉你能学到什么?
1、了解数据库优化的各个方面的方法和技巧 2、如何对SQL语句和索引进行优化 3、如何对数据库结构及运行环境进行优化

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消