社区评论系统设计

数据库设计

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 '评论表(含回复,统一存储)';
相关推荐
郝学胜-神的一滴几秒前
系统设计 012:从用户系统出发,吃透缓存、数据库与高并发设计
java·数据库·python·缓存·php·软件构建
米高梅狮子几秒前
01.ELK企业日志分析系统
运维·服务器·网络·数据库·elk·oracle
小杍随笔4 分钟前
【redb vs SQLite (rusqlite) 技术选型对比】
数据库·sqlite
人道领域4 分钟前
【LeetCode刷题日记】654.最大二叉树:递归算法详解
java·算法·leetcode
青云计划4 分钟前
Synchronized 锁升级:从偏向锁到重量级锁的性能进化之路
java·后端
暗夜猎手-大魔王4 分钟前
转载--AI Agent 架构设计:工具返回值设计(OpenClaw、Claude Code、Hermes Agent 对比)
数据库
spencer_tseng5 分钟前
HeapOOM && jvisualvm.exe
java·linux·jvisualvm.exe
windawdaysss5 分钟前
离线学习SQL和数据库的工具及其部署
数据库·sql·学习
Rubin智造社6 分钟前
Claude Code开发者大会系列8:从脚本到智能体——独立开发者的“AI原生”工作流转型
数据库·人工智能·独立开发者·agentic工作流·ai原生开发·实操指南
一条泥憨鱼6 分钟前
深入理解 MySQL 索引:原理、分类与优化实战
数据库·mysql