MySQL 为什么索引能加速查询但会拖慢写入?
查询:索引把全表扫描(O(n) 随机 IO)变成 B+ 树查找(O(log n),树高 3-4 次 IO),且有序结构加速排序/范围。写入(INSERT/UPDATE/DELETE):① 每建一个索引,写操作都要额外维护对应 B+ 树(插入/删除节点、可能页分裂);② 索引越多维护成本越高;③ 更新索引列还需调整树结构。平衡:读多写少多建索引;写密集控制索引数量(单表建议 < 5-6 个);索引列避免频繁更新;用覆盖/联合索引减少冗余单列索引。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。