saysky / ForestBlog

一个简单漂亮的SSM(Spring+SpringMVC+Mybatis)博客系统
https://forestblog.liuyanzhao.com
4.52k stars 1.65k forks source link

优化article中的索引 #33

Closed wtune closed 4 years ago

wtune commented 4 years ago

问题

表article中缺少一些需要的索引,通过测试,我们发现加上这些索引可以极大地提高相关查询的性能(高达80%),需要添加的索引分别如下所示:

1.article.article_user_id

ArticleMapper#countByUser是根据用户id统计其文章数量,为比较常用的查询语句,在article_user_id上添加索引可以加快该查询的效率。

2.article.article_update_time

ArticleMapper#getLastUpdateArticle是获取最新更新的文章,为一条常用查询,在update_time字段添加索引可以很大程度上提升该语句的性能。

3.article.(article_order, article_id)

ArticleMapper#findAll实现的是根据条件查询article中的所有字段,为比较常用的查询语句,结果按照article_order和article_id来排序,在这两个字段上添加联合索引可以极大地提升该语句的查询效率。

4.article.article_title(FullText)

ArticleMapper#findAll的查询条件中常会带有关键字,会用其于article_title字段匹配,在实际使用中用关键字进行匹配文章是很常见的,因此应该为article_title添加全文索引从而加快相关查询。

解决方法

在下列字段添加索引 article.article_user_id article_update_time article_title article.(article_order, article_id)

saysky commented 4 years ago

谢谢你的建议,后期抽空统一改