MySQL 中的前缀索引(Prefix Index)是指对字符类型字段的前几个字符建立索引,而不是对整个字段的值建立索引。 前缀索引的核心思想是:用最小的空间换取最高的查询效率。 以下是前缀索引最适合使用的几种典型场景: 1. 字段类型为 BLOB、TEXT 或极长的 VARCHAR MySQL 的 InnoDB 引擎对索引键的长度有限制(一般是 767 字节或 3072 字节,取决于行格式和版本)。 TEXT / BLOB 字段: MySQL 强制要求对这些数据类型建立索引时必须指定前缀长度,因为无法对完整内容建立索引。 长 VARCHAR 字段(如 VARCHAR(255) 或更大): 如果对完整的长字符串建索引,索引文件会变得非常庞大,不仅占用大量磁盘和内存(Buffer Pool)空间,还会导致 、 变慢。此时使用前缀索引能大幅压缩索引体积。 2. 字符串前缀具有高区分度(Selectivity) 如果一个字符串字段的前几个字符就已经能够区分绝大多数数据,那么非常适合使用前缀索引。 UUID / 订单号: UUID 或随机生成的订单号,通常前 8 位或 10 位就已经具有...