写点什么

模块八作业 - 消息数据 MySQL 表设计

作者:Elvis FAN
  • 2022 年 7 月 26 日
  • 本文字数:323 字

    阅读完需:约 1 分钟

作业要求

表设计

思路

  • 从性能考虑,采用每个队列一张表

  • 业务上会经常通过消息的时间戳查询数据,所以给 timestamp 字段创建索引

  • 消息有三个状态:NEW, ACKED, DELETED

DDL

CREATE TABLE `message_topic_x` (  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,  `message_body` text NOT NULL,  `status` enum('NEW','ACKED','DELETED') NOT NULL DEFAULT 'NEW',  `publisher` varchar(200) DEFAULT NULL,  `published_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,  `acted_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,  PRIMARY KEY (`id`),  KEY `idx_published_at` (`published_at`),  KEY `idx_acted_at` (`acted_at`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
复制代码


用户头像

Elvis FAN

关注

还未添加个人签名 2020.04.27 加入

还未添加个人简介

评论

发布
暂无评论
模块八作业 - 消息数据 MySQL 表设计_Elvis FAN_InfoQ写作社区