上一部分一起学习了数据库中的ACID等特性。数据库面试系列第二部分分享数据库的调优常用步骤,索引底层原理,页机制等。总体思维导图如下所示。
1 定位
主要从三个方面进行定位,用户的反馈,日志记录以及服务器内网监控。
-
用户反馈
用户是最直接的反馈者,用户的反馈是推向系统进一步优化的重要一步。
-
服务器资源监控
尽量不要等着用户反馈的时候手忙脚乱。通常项目中都会有一套比较完整的服务端监控体系,所谓"监控不到位,领导两行泪"。那监控一般都是哪些内容呢?服务器本身CPU,IO等基础指标以外,通常会通过访问趋势表展示服务整体的访问量、响应供应时间情况,错误数量等。通过性能报表展示哪个资源或者服务出现问题。
-
日志分析
除了Linux系统日志,还有数据库日志,根据他们定位问题所在。
数据调优的几个方向
-
数据库的选择
根据应用,业务的需要选择不同的数据库。是否考虑事务,行存储还是列存储等。
-
优化表
(1) 如果查询分析较多,可采用空间换时间的方式增加冗余字段提高查询效率。
(2) 不同字段的数据类型直接关系到查询效率的高低和存储的大小。
(3) 采用第三范式让结构更加清晰,减少冗余字段。
-
<