背景
数据库作为项目核心组件,常见的问题分析和优化
例子
积分日志查询慢
数据密度大,遇到深翻页问题,采用返回id进行数据过滤,需要客户端配合调整。
进一步,采用推模型来同步积分日志。
用户信息查询
跨表join采用了select *,其实只需要两三个字段,覆盖索引即可。
服务处理日志写入
单条写入,采用队列缓冲,批量写入
没有选择正确的索引
强制索引
最左匹配无法生效
采用union all,避免采用union,需要建临时表去重
网络耗时
查询用户的可用积分明细,可能很多数据量
字符集不一致
导致join索引失效