3.4.5 索引的设计原则 索引设计的优劣直接决定了数据库的读写性能。一套好的索引并非“越多越好”,而是遵循一系列相互制约的原则,在查询加速与写入维护开销之间找到最佳平衡点。以下是索引设计的核心原则,它们相互关联,需要综合考量。🎯 一、最左前缀原则 —— 联合索引的生命线这是联合索引设计的第一原则,决定了索引能否被查询高效利用。定义:联合索引(A, B, C)中,只有查询条件包含索引的最左列A或其连续前缀时,才能使用索引进行快速查找。应用:不要为每个查询列单独建索引,而应设计一个联合索引,使其最左前缀覆盖多种查询模式。例如,系统中有WHERE A=?和WHERE A=? AND B=?,一个索引(A, B)即可同时满足这两个查询。避免失效:查询条件不能跳过最左列。WHERE B=?无法利用索引(A, B)。⚖️ 二、等值优先,范围靠后在联合索引的列顺序中,应将等值查询列放在前面,范围查询列放在最后。原因:范围条件(,,LIKE 'prefix%'等)会“截断”后续列,使它们无法再用于缩小扫描范围或排序,只能依赖 ICP 过滤。示例:WHERE s