项目中的数据库优化 | 青训营笔记

31 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 17 天


在做项目的时候,经常会遇到接口性能差,系统响应过慢的问题,对于这种情况,我们需要对接口功能进行迭代优化,对于数据库的操作会耗用功能运行的大部分时间,故数据库一般作为我们优化的对象。

数据库优化

字段选择

  • 除非使用text处理一个很大的数据,否则不要使用它。因为它不易于查询,速度慢,用的不好还会浪费大量的空间。一般varchar可以更好的处理数据。

  • 如果存储的字符串长度几乎相等,使用char定长字符串类型。

  • float 和 double 都存在精度损失的问题,很可能在比较值的时候,得到不正确的 结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数并分开存储。

使用索引

对于查询操作来说,最直接的优化手段在于索引了,索引能够极大的提高数据库查询速度,对于 WHERE 子句中常用到的字段,一定要添加索引,我们可以通过使用 EXPLAIN 命令来查询我们的查询语句是否使用了索引。

EXPLAIN 命令

image.png

在 explain 命令中, key 字段可以看出我们使用的索引,一般来说,我们需要关注的是 type 字段,通过 type 字段我们可以看到我们是以何种方式进行的数据查询。

image.png

ALL 类型说明性能最差,一般来说,我们要让我们的查询达到 ref 或者 eq_ref ,即在查询时使用到我们所建立的索引,最差也到达到 range 类型。


如果你发现了文章出现了错误或有不足,欢迎在评论区和我交流,我看到了一定会回复。

写文章不易,如果你觉得文章对你有帮助,麻烦点一下点赞、收藏,你的支持是我写文章的最大动力!