ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

第三节:MySQL索引优化规则套路实战1(索引分析、索引失效、查询优化)

2020-12-04 10:36:57  阅读:255  来源: 互联网

标签:COMMENT category views comments 索引 MySQL article 优化 id


一. 索引分析

1. 单表索引分析

 数据准备:创建arcile表,并插入数据。

--创建arctile表,并插入数据
DROP TABLE IF EXISTS `article`;
CREATE TABLE IF NOT EXISTS `article`(
`id` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
`author_id` INT(10) UNSIGNED NOT NULL COMMENT '作者id',
`category_id` INT(10) UNSIGNED NOT NULL COMMENT '分类id',
`views` INT(10) UNSIGNED NOT NULL COMMENT '被查看的次数',
`comments` INT(10) UNSIGNED NOT NULL COMMENT '回帖的备注',
`title` VARCHAR(255) NOT NULL COMMENT '标题',
`content` VARCHAR(255) NOT NULL COMMENT '正文内容'
) COMMENT '文章';
--插入数据
INSERT INTO `article`(`author_id`, `category_id`, `views`, `comments`, `title`,`content`) VALUES(1,1,1,1,'1','1');
INSERT INTO `article`(`author_id`, `category_id`, `views`, `comments`, `title`,`content`) VALUES(2,2,2,2,'2','2');
INSERT INTO `article`(`author_id`, `category_id`, `views`, `comments`, `title`,`content`) VALUES(3,3,3,3,'3','3');
INSERT INTO `article`(`author_id`, `category_id`, `views`, `comments`, `title`,`content`) VALUES(1,1,3,3,'3','3');
INSERT INTO `article`(`author_id`, `category_id`, `views`, `comments`, `title`,`content`) VALUES(1,1,4,4,'4','4');
View Code

 

(1).  查询 category_id 为1且 comments 大于1的情况下, views 最多的 article_id 。

SELECT id,author_id FROM article WHERE category_id = 1 AND comments > 1 ORDER BY views DESC LIMIT 1;

 

分析执行计划如下:

 

 

剖析:该语句全表扫描了,并且用到了文件内排序,需要优化。 

(2).

 

(3).

 

(4).

 

(5). 

 

 

 

2. 两表索引分析

 

 

 

 

3. 三表索引分析 

 

 

 

 

二. 索引失效

 

 

 

 

 

 

 

 

 

 

 

三. 查询优化

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 

 

标签:COMMENT,category,views,comments,索引,MySQL,article,优化,id
来源: https://www.cnblogs.com/yaopengfei/p/14084372.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有