推文
@BaiBtw · 2026-10-14 18:00
数据库遇到性能和容量瓶颈,常见的7种处理方式,各自改变的是不同环节: 1. 索引 先看查询怎样找数据,再为这些访问方式建立索引。比如经常按 id 找一条记录,索引能减少逐行查找;但表更新时也要维护索引,会增加写入开销。 2. 物化视图 把复杂查询的结果提前算好并保存,读取时直接使用这份结果。比如销售看板所需的历史汇总,可以定期刷新;读取更省事,但结果未必反映最新数据。 3. 反规范化 把查询常用的关联数据放到一起,减少查询时的复杂 JOIN。例如一份订单读取数据里同时放入商品名、客户名、订单号和金额。 4. 纵向扩容 增加同一台数据库服务器的 CPU、内存或存储,让单机承载更多工作。它受单台机器可用配置的上限约束。 5. 缓存 把频繁读取的数据放到更快的存储层,让一部分请求不用重复访问数据库。这里改变的是访问路径,物化视图侧重保存预计算的查询结果。 6. 复制 在其他服务器上维护主库的副本,把一部分读取分给副本处理,扩展读能力。 7. 分片 把数据拆成不同部分,分散到多台服务器,让各台承担一部分读写负载。和复制同一份数据不同,分片分担的是数据与工作量,同时增加部署和维护的复杂度。
曝光 5 · 评论 0 · 点赞 0 · 书签 0