mysql
CPeony
大三,from bytedance to netease,下一站会在哪?
展开
-
利用mysql自带的profile和status查看语句的执行情况
mysql用profile查看语句的执行情况 有一些耗时非常长的语句,可以通过如下语句检测出来,哪里出了问题。 1.首先确保profile功能开启 show variables like 'profiling' 如果是on才是开启的 没开启执行set profiling=on。 2.执行sql查询语句 因为profile是检测你的查询语句性能分别耗时多少,所以得执行一下select吧。 3.show profiles show profiles用来查看之前执行过的语句 4.显示语句具体信息 show pro原创 2020-11-10 16:58:44 · 484 阅读 · 0 评论 -
mysql使用索引的原则
mysql索引失效的原因 部分索引失效的情况在mysql5.6和mysql8.0测出来的不一样 之前文章讲述过,在explain出来的表格中,有一个字段叫做possible keys,表示可能用到的索引,还有另一个字段叫key,表示真正用到的索引。没用到的索引就相当于是失效了。 配上复合索引的底层结构介绍,帮助理解: https://blog.csdn.net/feichitianxia/article/details/107997795 上面这个表建了一条索引ALTER TABLE staffs原创 2020-11-10 16:57:04 · 261 阅读 · 0 评论 -
mysql建立索引的方法
mysql的join语句建立索引的原则和优化 单表的索引 以下面的表为例,表叫article。 创建索引语句:create index idx_ccv on article(category_id,comments,views); 查询语句:explain select id,author_id from `article` where category_id=1 and comments>1 order by views desc limit 1; explain的结果如下: extra列出现了原创 2020-11-10 16:55:31 · 1203 阅读 · 0 评论 -
用explain查看一个sql底层的执行情况
查看一个sql底层的执行情况 explain + sql语句 例如 explain select * from user 显示出: id select_type table type possible_keys key key_len ref rows extra mysql的索引,除了聚簇索引(一般都是主键)之外的索引(非聚簇索引),存储的都是索引列上+主键列的数值,不存储其他列。所以查完索引如果要获取其他列的属性,还需要通过得到的主键去查一遍主键,主键索引会含有其他字段的信息。详细文章原创 2020-11-10 16:52:05 · 470 阅读 · 0 评论 -
mysql的join
mysql的join方式 join是连接查询两个表的一种方式,会把两个表符合条件的行拼到一起形成一个新表并返回。 对于两个集合,join可以生成七种情况,如下。 下面分别对这七种情况介绍sql语句。 情况1 这种情况直接用inner join就可以。 select * from tableA A inner join tableB B on A.key = B.key; 情况2 直接left join。 select * from tableA A left join tableB B on A.ke原创 2020-11-10 16:44:12 · 376 阅读 · 0 评论