一、需求分析与规划
项目启动阶段,利用 AI 工具的对话功能进行需求梳理与架构设计,能够显著提升前期规划的准确性。
1.1 功能需求
在线图书借阅平台需满足用户全流程借阅需求,包含图书检索、借阅预约、逾期管理、信用积分体系四大核心功能。系统需支持多校区图书资源调配,实现'线上借书 + 书店借书 + 数字阅读'三位一体服务模式,并集成智能推荐算法提升用户粘性。
1.2 核心模块
- 用户服务层:集成支付宝、微信等多端入口,支持读者信用积分动态计算
- 资源管理层:构建 Elasticsearch 全文检索集群,实现图书元数据与内容片段的混合检索
- 业务处理层:采用乐观锁机制处理并发借阅,通过 Redis 缓存热点图书状态
- 数据分析层:基于 Flink 实时计算图书热度指数,驱动智能推荐系统
1.3 技术选型
- 后端架构:Spring Cloud Alibaba 微服务框架
- AI 开发工具:AI 辅助智能开发平台
- 数据库:MySQL 8.0(主)+ TiDB(分布式扩展)
- 搜索引擎:Elasticsearch 7.15
- 缓存系统:Redis 6.2 集群
二、开发实录
从零开始开发时,直接创建新项目并将需求分析结果输入 AI 助手进行代码生成。整个流程通常包含理解需求、设计接口、表结构设计、处理逻辑编写及源码生成五个步骤。在前四个阶段,我们可以人工介入调整需求和接口定义,确保最终生成的项目更符合预期。
每个子项目的生成时间通常在两分钟左右,完整代码生成耗时约 15 分钟,效率表现良好。
三、优化与调试心得
3.1 SQL 性能优化:精准打击,提升查询效率
在平台初期,图书搜索接口响应缓慢成为突出问题。经过深入分析,发现是由于查询语句效率低下以及缺乏合适的索引导致。为此,我们采取了以下优化措施:
- 添加复合索引:针对图书名称、作者等常用查询字段,添加复合索引,大大减少了数据库的扫描范围,提高了查询速度。
- 重构查询语句:将原本使用子查询的方式改为 JOIN 操作,避免了子查询带来的性能损耗,使查询更加高效。
- 结果集分页处理:对于可能返回大量数据的查询,实施分页处理,避免一次性加载过多数据,减轻了数据库和服务器的负担。
在处理百万级借阅记录统计时,初始 SQL 执行耗时长达 12.3 秒。通过 AI 的「SQL 优化建议」功能,我们识别出全表扫描和冗余计算问题。为 borrow_record 表添加 (reader_id, borrow_date) 复合索引,解决了全表扫描问题;将子查询改写为物化视图,避免了冗余计算。优化后查询耗时降至 0.8 秒,性能提升显著。
优化前慢查询示例:
SELECT reader_id, COUNT(*) as borrow_count FROM borrow_record WHERE borrow_date BETWEEN '2025-01-01' AND '2025-08-01' GROUP BY reader_id () ;


