|
| 1 | +# 第7周作业 |
| 2 | + |
| 3 | + |
| 4 | +## 作业内容 |
| 5 | + |
| 6 | +> Week07 作业题目: |
| 7 | +
|
| 8 | +###Week07 作业题目 |
| 9 | + |
| 10 | +1. (选做)用今天课上学习的知识,分析自己系统的 SQL 和表结构 |
| 11 | +2. (必做)按自己设计的表结构,插入 100 万订单模拟数据,测试不同方式的插入效率 |
| 12 | +3. (选做)按自己设计的表结构,插入 1000 万订单模拟数据,测试不同方式的插入效率 |
| 13 | +4. (选做)使用不同的索引或组合,测试不同方式查询效率 |
| 14 | +5. (选做)调整测试数据,使得数据尽量均匀,模拟 1 年时间内的交易,计算一年的销售报表:销售总额,订单数,客单价,每月销售量,前十的商品等等(可以自己设计更多指标) |
| 15 | +6. (选做)尝试自己做一个 ID 生成器(可以模拟 Seq 或 Snowflake) |
| 16 | +7. (选做)尝试实现或改造一个非精确分页的程序 |
| 17 | +8. (选做)配置一遍异步复制,半同步复制、组复制 |
| 18 | +9. (必做)读写分离 - 动态切换数据源版本 1.0 |
| 19 | +10. (必做)读写分离 - 数据库框架版本 2.0 |
| 20 | +11. (选做)读写分离 - 数据库中间件版本 3.0 |
| 21 | +12. (选做)配置 MHA,模拟 master 宕机 |
| 22 | +13. (选做)配置 MGR,模拟 master 宕机 |
| 23 | +14. (选做)配置 Orchestrator,模拟 master 宕机,演练 UI 调整拓扑结构 |
| 24 | + |
| 25 | +### 作业提交规范: |
| 26 | + |
| 27 | +1. 作业不要打包 ; |
| 28 | +2. 同学们写在 md 文件里,而不要发 Word, Excel , PDF 等 ; |
| 29 | +3. 代码类作业需提交完整 Java 代码,不能是片段; |
| 30 | +4. 作业按课时分目录,仅上传作业相关,笔记分开记录; |
| 31 | +5. 画图类作业提交可直接打开的图片或 md,手画的图手机拍照上传后太大,难以查看,推荐画图(推荐 PPT、Keynote); |
| 32 | +6. 提交记录最好要标明明确的含义(比如第几题作业)。 |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | +## 操作步骤 |
| 37 | + |
| 38 | + |
| 39 | +### 第七周-作业1. (选做) |
| 40 | + |
| 41 | +> 本题目需要同学们自己完成. |
| 42 | +
|
| 43 | +1. 找一个业务系统。 |
| 44 | +2. 分析SQL表结构 |
| 45 | +3. 范式 |
| 46 | +4. 考虑: 开发效率、查询效率、拓展性、索引、有哪些优化空间。 |
| 47 | +5. 其他 |
| 48 | + |
| 49 | + |
| 50 | +### 第七周-作业2. (必做) |
| 51 | + |
| 52 | +0. 作业题目: 按自己设计的表结构,插入 100 万订单模拟数据,测试不同方式的插入效率 |
| 53 | +1. 打开 Spring 官网: https://spring.io/ |
| 54 | +2. 找到 Projects --> Spring Initializr: https://start.spring.io/ |
| 55 | +3. 填写项目信息: |
| 56 | + * Project: Maven Project |
| 57 | + * Language: Java |
| 58 | + * Spring Boot版本: 2.5.4 |
| 59 | + * Group: 自己的包名, 以做标识; |
| 60 | + * Artifact: mysql-demo |
| 61 | + * JDK版本: 8 |
| 62 | + * Dependencies: 添加依赖, 比如 MyBatis, Spring Web, MySQL, JDBC |
| 63 | + * 生成 maven 项目; 下载并解压。 参考: [mysql-demo项目Share信息](https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.5.4&packaging=jar&jvmVersion=1.8&groupId=com.cncounter&artifactId=mysql-demo&name=mysql-demo&description=MySQL%20Demo&packageName=com.cncounter.mysql-demo&dependencies=mybatis,web,mysql,data-jdbc) |
| 64 | + |
| 65 | +4. Idea或者Eclipse从已有的Source导入Maven项目。 |
| 66 | +5. 搜索依赖, 推荐 mvnrepository: https://mvnrepository.com/ |
| 67 | +6. 搜索 fastjson , 然后在 pom.xml 之中增加对应的依赖。 |
| 68 | +7. 准备MySQL环境, 创建订单表 |
| 69 | + - 7.1 |
| 70 | +8. 生成项目; |
| 71 | + - 8.1 创建Controller |
| 72 | +9. 执行与测试. |
0 commit comments