一、数据收集方案
- ELK方案:
-
pmm-clickhouse方案:
二、研发推进策略 -
制定SQL编写标准:
- 根据公司业务需求,制定一套实用的SQL编写标准。
-
定期培训:
- 定期组织业务数据库基础知识培训,提升研发人员的数据库设计与优化能力。
-
慢SQL监控:
- 实施慢SQL监控机制,重点关注主库的执行情况,及时发现并处理性能瓶颈。
-
慢SQL评分与优化机制:
- 设定慢SQL评分标准,如:主库执行时间长且涉及全表扫描为90分,主库执行时间长但不涉及全表扫描为80分,主库全表扫描或索引不合理为80分以下。
- 设定优化阈值,如80分以上需进行优化,以减少业务方的优化压力并提升数据库性能。
- ** 建立慢SQL追踪机制**:
对于需要优化的慢SQL,明确整改DDL日期与负责人,确保慢SQL问题得到及时解决。
三、SQL编写标准细则
-
精选查询列:
- 在SELECT语句中,只查询需要的列,避免使用SELECT *带来的额外开销。
-
索引优化:
- 根据查询需求,为数据库表建立合适的单列或多列索引,以提升查询效率。
- 避免索引失效场景
-
读写分离与OLAP查询:
- 对于非必要实时性的查询,可以采用读写分离策略或利用OLAP场景进行查询,以减轻主库压力。
-
减少联表查询:
- 尽量避免复杂的联表查询,连接的表数量不宜过多,以免影响查询性能。
-
限制数据量返回:
- 在处理大量数据时,使用LIMIT子句限制返回的行数,以减少内存使用并提高查询速度。同时,对于分页查询,应优先考虑使用物理分页方式。