设计消息队列存储消息数据的 MySQL 表格
【作业要求】
1. 包括表名、字段、索引;
2. 用文字描述设计思路和理由,例如:为什么设计某个索引?
3. 一页 PPT 即可。
【提示】
1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。
- 消息队列需要一张主题 Topic 表,一张消息表,两张表 id 均为自增主键,消息表的 topic_id 和创建时间 create_time 字段建立索引。
create table t_topic ( id bigint unsigned auto_increment not null primary key comment 'id', topic_name varchar(50) not null comment '主题名称', create_time datetime default CURRENT_TIMESTAMP comment '创建时间', update_time datetime default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '创建时间' ) comment '主题表'; create table t_message ( id bigint unsigned auto_increment not null primary key comment 'id', topic_id bigint unsigned not null comment '主题id', message_body text comment '消息内容', create_time datetime default CURRENT_TIMESTAMP comment '创建时间', update_time datetime default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '创建时间', index idx_create_time(create_time) comment '创建时间索引', index idx_topic(topic_id) comment '主题id索引' ) comment '消息表';