写点什么

架构实战营模块八作业

作者:Jude
  • 2022 年 2 月 26 日
  • 本文字数:478 字

    阅读完需:约 2 分钟

作业:设计消息队列存储消息数据的 MySQL 表格

【作业要求】

1. 包括表名、字段、索引;

2. 用文字描述设计思路和理由,例如:为什么设计某个索引?

3. 一页 PPT 即可。

【提示】

1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。


表设计:

队列表:


CREATE TABLE QUEUE (  ID BIGINT NOT NULL, -- 队列ID  NAME VARCHAR(20) NOT NULL, -- 队列名称  DESCRIPTION VARCHAR(200), -- 队列描述  MAX_BYTE INTEGER, -- 该队列消息体最大大小 单位字节  CREATE_TIME TIMESTAMP NOT NULL, -- 创建时间  IS_DEAD_QUEUE BOOLEAN, -- 是否为死信队列  PRIMARY KEY(ID));
复制代码


消息表:

对队列 ID 建立索引,方便根据队列来查询该队列所有消息

CREATE TABLE MESSAGE (  ID BIGINT NOT NULL, -- 消息ID   QUEUE_ID BIGINT NOT NULL, -- 队列ID  CREATE_TIME TIMESTAMP NOT NULL, -- 消息创建时间  MESSAGE_DATA VARCHAR(1000) NOT NULL, -- 消息体  STATE NOT NULL, -- 消息状态  PRIMARY KEY (ID),  FOREIGN KEY (QUEUE_ID) REFERENCES QUEUE(ID)  );CREATE INDEX QueueIndex ON MESSAGE (QUEUE_ID);
复制代码


用户头像

Jude

关注

还未添加个人签名 2018.10.20 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块八作业