社区评论系统设计

数据库设计

sql 复制代码
CREATE TABLE `comment`(
    `id`          bigint(20) unsigned NOT NULL COMMENT '评论ID(雪花算法生成)',
    `biz_id`      bigint(20) NOT NULL COMMENT '业务ID(如微博ID)',
    `biz_type`    tinyint(4) NOT NULL DEFAULT 1 COMMENT '业务类型(1=微博,2=视频,3=文章)',
    `user_id`     bigint(20) NOT NULL COMMENT '评论用户ID',
    `content`     varchar(1000) NOT NULL COMMENT '评论内容(过滤敏感词后)',
    `parent_id`   bigint(20) NOT NULL DEFAULT 0 COMMENT '父评论ID(0=一级评论,>0=回复)',
    `root_id`     bigint(20) NOT NULL DEFAULT 0 COMMENT '根评论ID(所有层级回复共享根评论ID)',
    `like_count`  int(11) NOT NULL DEFAULT 0 COMMENT '点赞数',
    `status`      tinyint(4) NOT NULL DEFAULT 1 COMMENT '状态(1=正常,0=删除,2=审核中)',
    `create_time` datetime      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`),
    KEY           `idx_biz_root` (`biz_type`,`biz_id`,`root_id`,`status`,`create_time`),
    KEY           `idx_root_parent` (`root_id`,`parent_id`,`status`,`create_time`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '评论表(含回复,统一存储)';
相关推荐
J_liaty2 小时前
客户端负载均衡与服务端负载均衡解释与对比
java·运维·负载均衡
小码过河.2 小时前
设计模式——解释器模式
java·设计模式·解释器模式
我不是8神2 小时前
RPC与 Thread 知识点全面总结
java·开发语言·jvm
君爱学习2 小时前
MySQL - 基础增删查改
java
码农多耕地呗2 小时前
mysql之深入理解b+树原理
数据库·b树·mysql
踢足球09292 小时前
寒假打卡:2026-01-26
数据库
漂洋过海的鱼儿2 小时前
Qt--元对象系统
开发语言·数据库·qt
cyforkk2 小时前
05、Java 基础硬核复习:数组的本质与面试考点
java·开发语言·面试
沧澜sincerely2 小时前
分组数据【GROUP BY 与 HAVING的使用】
数据库·sql·group by·having