Files
ccdi/doc/database-index-validation.md
wkc c86733c929 docs: 完善数据库索引验证报告格式
- 添加完整索引列表表格
- 修正文档结构
- 更新审核状态

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-08 15:53:59 +08:00

2.7 KiB

数据库唯一索引验证报告

验证日期

2026-02-08

验证目的

确认中介信息导入功能所需的数据库唯一索引已正确配置,为 INSERT ... ON DUPLICATE KEY UPDATE 语句提供基础支持。

涉及表

  • ccdi_biz_intermediary (个人中介表)
  • ccdi_enterprise_base_info (实体中介表)

检查结果

1. 个人中介表 (ccdi_biz_intermediary)

检查项: person_id 唯一索引

检查前状态:

  • 存在普通索引 idx_person_id (Non_unique = 1)
  • 不满足唯一性要求

执行操作:

-- 删除原有普通索引
ALTER TABLE ccdi_biz_intermediary DROP INDEX idx_person_id;

-- 创建唯一索引
ALTER TABLE ccdi_biz_intermediary ADD UNIQUE KEY uk_person_id (person_id);

检查后状态:

  • 唯一索引 uk_person_id 已创建
  • Non_unique: 0
  • Column_name: person_id
  • Index_type: BTREE
  • Cardinality: 1745

最终索引状态:

  • PRIMARY KEY: biz_id
  • UNIQUE KEY: uk_person_id (Non_unique = 0)
  • INDEX: idx_name (普通索引)
  • INDEX: idx_mobile (普通索引)

完整索引列表:

SHOW INDEX FROM ccdi_biz_intermediary;
Key_name Column_name Non_unique Index_type
PRIMARY biz_id 0 BTREE
uk_person_id person_id 0 BTREE
idx_name name 1 BTREE
idx_mobile mobile 1 BTREE

2. 实体中介表 (ccdi_enterprise_base_info)

检查项: social_credit_code 主键

检查前状态:

  • social_credit_code 已为 PRIMARY KEY
  • 字段类型: varchar(50)
  • 约束: NOT NULL
  • 引擎: InnoDB

表结构确认:

SHOW CREATE TABLE ccdi_enterprise_base_info;

结论:

  • 无需修改,已满足要求

总结

验证结论

所有必需的唯一索引/主键均已正确配置

配置详情

表名 字段 约束类型 状态
ccdi_biz_intermediary person_id UNIQUE KEY 已创建
ccdi_enterprise_base_info social_credit_code PRIMARY KEY 已存在

对导入功能的影响

  • INSERT ... ON DUPLICATE KEY UPDATE 现在可以正确工作
  • 个人中介数据根据 person_id 自动去重和更新
  • 实体中介数据根据 social_credit_code 自动去重和更新

注意事项

  1. 唯一索引约束: 导入数据时,如果 person_id 重复,将自动执行更新操作
  2. 性能影响: 唯一索引会在插入和更新时进行唯一性检查,对性能有轻微影响
  3. 数据完整性: 唯一索引确保了数据的唯一性,防止重复数据

执行人员

Claude Code AI Assistant

审核状态

已完成验证并创建唯一索引 文档已提交到 git (commit: a6a872b)