AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
>[info]唯一索引与普通索引的区别 `uk_contract_id` 是“唯一索引”,既加速查询又强制列值全局唯一;`idx_merchant_id` 只是普通二级索引,仅加速查询,不限制重复。 | 维度 | UNIQUE KEY `uk_contract_id` (`contract_id`) | KEY `idx_merchant_id` (`merchant_id`) | |---|---|---| | 唯一性约束 | ✅ 有;插入重复值报 1062 Duplicate entry | ❌ 无;同一 merchant_id 可出现 N 次 | | NULL 处理 | 允许多行 NULL(视为互不相同) | 同样允许多行 NULL | | 索引类型 | 二级唯一索引 | 普通二级索引 | | 性能差异 | 写入时须做唯一性检查,代价略高 | 仅维护 B+Tree,无唯一检查,写入稍快 | | 查询加速 | 等值/范围都走索引,与 PK 一样快 | 同样能加速等值/范围 | | 覆盖场景 | 若只需 contract_id,可覆盖索引 | 若只需 merchant_id,也可覆盖 | | 数量限制 | 一张表可建多个 UNIQUE KEY | 普通索引数量无硬上限,受存储与维护成本限制 | | 典型用途 | 业务编号、身份证号、订单号等“天然唯一”列 | 外键列、过滤列、JOIN 列,允许重复 |