作业 8
【作业要求】
1. 包括表名、字段、索引;
2. 用文字描述设计思路和理由,例如:为什么设计某个索引?
3. 一页 PPT 即可。
【提示】
1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。
【作业要求】
1. 包括表名、字段、索引;
2. 用文字描述设计思路和理由,例如:为什么设计某个索引?
3. 一页 PPT 即可。
【提示】
1. 需要考虑每个消息队列一张表,还是所有消息放一张表,里面加一个“队列名称”的字段。
创建表
DROP TABLE IF EXISTS `topic_xx`;
CREATE TABLE `topic_xx` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'message id',
`topic_msg` text NOT NULL COMMENT 'topic_msg',
`owner` VARBINARY(255) COMMENT 'owner',
`create_time` bigint(11) unsigned NOT NULL DEFAULT NOW() COMMENT 'creat_time',
`update_time` bigint(11) unsigned NOT NULL DEFAULT NOW() COMMENT 'update_time',
PRIMARY KEY (`id`),
KEY `unKey` (`id`,`owner`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
topic_xx 表示不同的 topic
使用 id 和 owner 的索引是为了消费消息时候用
生产者--产生消息
INSERT INTO topic_xx (topic_msg) VALUES ('message');
消费者--消费消息
UPDATE topic_xxxx SET owner = 'xx' WHERE owner IS NULL ORDER BY ID ASC LIMIT 1;
SELECT * FROM topic_xx WHERE owner = 'xx';
DELETE FROM topic_xx WHERE owner = 'xx';
评论