新闻中心

mysql如何设计任务和任务进度表

2025-10-23
浏览次数:
返回列表
设计任务和任务进度表需分离主信息与动态进度,确保数据清晰可扩展。2. 任务表存储基本信息,进度表记录历史变更,便于统计分析。3. 通过关联查询获取最新进度,可冗余current_progress字段但以进度表为准。4. 建议扩展项目、里程碑、审计日志及子任务支持,提升系统灵活性。

mysql如何设计任务和任务进度表

在MySQL中设计任务和任务进度表时,关键是要保证数据结构清晰、可扩展,并能准确反映任务的生命周期和进度变化。以下是常见的表结构设计思路和示例。

1. 任务表(task)

作用:存储任务的基本信息,如任务名称、描述、负责人、创建时间、状态等。

示例结构:

CREATE TABLE task (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    title VARCHAR(255) NOT NULL COMMENT '任务标题',
    description TEXT COMMENT '任务描述',
    assignee_id BIGINT COMMENT '负责人ID',
    status ENUM('pending', 'running', 'paused', 'completed', 'cancelled') DEFAULT 'pending' COMMENT '任务状态',
    priority TINYINT DEFAULT 3 COMMENT '优先级:1-高,3-中,5-低',
    start_time DATETIME COMMENT '计划开始时间',
    end_time DATETIME COMMENT '计划结束时间',
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_assignee (assignee_id),
    INDEX idx_status (status),
    INDEX idx_start_end (start_time, end_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2. 任务进度表(task_progress)

作用:记录任务的进度变更历史,支持按时间查看进度变化,适合做统计分析。

示例结构:

CREATE TABLE task_progress (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    task_id BIGINT NOT NULL COMMENT '关联任务ID',
    progress_percent DECIMAL(5,2) NOT NULL DEFAULT 0.00 COMMENT '进度百分比,0.00~100.00',
    remark VARCHAR(500) COMMENT '进度说明',
    recorded_by BIGINT COMMENT '记录人ID',
    recorded_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (task_id) REFERENCES task(id) ON DELETE CASCADE,
    INDEX idx_task_progress (task_id, recorded_at),
    INDEX idx_recorded_by (recorded_by)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

3. 设计要点说明

为什么分开两张表?

Modoer多功能点评系统2.5 精华版 Build 20110710 UTF8 Modoer多功能点评系统2.5 精华版 Build 20110710 UTF8

Modoer 是一款以本地分享,多功能的点评网站管理系统。采用 PHP+MYSQL 开发设计,开放全部源代码。因具有非凡的访问速度和卓越的负载能力而深受国内外朋友的喜爱,不局限于商铺类点评,真正实现了多类型的点评,可以让您的网站点评任何事与物,同时增加产品模块,也更好的网站产品在网站上展示。Modoer点评系统 2.5 Build 20110710更新列表1.同步 旗舰版系统框架2.增加 限制图片

Modoer多功能点评系统2.5 精华版 Build 20110710 UTF8 2 查看详情 Modoer多功能点评系统2.5 精华版 Build 20110710 UTF8
  • 任务主信息稳定,而进度是动态变化的,拆分有利于维护历史记录。
  • 避免频繁更新任务表导致锁竞争或日志膨胀。
  • 支持查看“谁在什么时候把任务推进到了多少”。

如何获取当前任务进度?

从 task_progress 表中取每个任务最新的那条记录:

SELECT tp.task_id, tp.progress_percent, tp.recorded_at, tp.remark
FROM task_progress tp
INNER JOIN (
  SELECT task_id, MAX(recorded_at) AS max_time
  FROM task_progress
  GROUP BY task_id
) latest ON tp.task_id = latest.task_id AND tp.recorded_at = latest.max_time;

是否可以在 task 表中加一个 current_progress 字段?

可以,但建议仅作为冗余字段用于快速查询,真实数据仍以 task_progress 为准,通过触发器或应用层同步更新。

4. 扩展建议

  • 加入项目字段(project_id)实现多项目管理。
  • 增加里程碑字段(milestone)标记关键节点。
  • 对 task_progress 的修改做审计日志(如操作IP、设备等)。
  • 如果任务有子任务,可设计 task_child 表或使用树形结构。
基本上就这些,结构清晰、易于维护,适合中小规模的任务系统。

以上就是mysql如何设计任务和任务进度表的详细内容,更多请关注其它相关文章!


# 什么时候  # 旅游app推广营销方案  # 网站seo推广找哪家  # 清远设备seo方法公司  # 零距离seo 推广  # 家居专卖店设计营销推广  # 桥西区网站建设哪家好  # 江苏seo软件案例  # 濮阳知名seo优化价格  # 广西关键词优化排名全包  # 福建短视频seo引流  # 相关文章  # mysql  # 您的  # 操作步骤  # 全攻略  # 多个  # 数据结构  # 镜像  # 多功能  # 离线  # 为什么  # cad  # 任务进度表 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 随机参数递归函数的基准调用次数与时间复杂度探究  包子漫画官方网站阅读入口-包子漫画在线漫画官网直达链接  拼多多视频播放卡顿如何处理 拼多多视频播放优化技巧  写好的html代码怎么运行出来_运行写好的html代码方法【教程】  圆通快递查询实时追踪 圆通物流包裹状态快速查看  黑猫投诉统一入口官网 消费者权益保护投诉平台  在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析  虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作  蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源  yy漫画网页版官方入口_yy漫画官网登录页面链接  实现全屏滚动与导航点:专业教程  QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用  C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果  mcjs网页版在线存档 mcjs云存档登录入口  微信网页版登录教程_微信网页版登录入口在哪  LINUX怎么设置定时任务_LINUX crontab配置教程  高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法  哔哩哔哩忘记密码了怎么找回_哔哩哔哩密码找回方法  Mac终端命令大全_Mac常用Terminal指令速查  Centos/Linux 系统下安装 composer 的完整步骤  百度浏览器字体显示异常偏小_百度浏览器字体渲染修复方案  AO3网页版最新入口合集 Archive of Our Own在线访问指南  知音漫客正版漫画平台_知音漫客官网账号登录  《噬血代码2》新预告片发布 展示游戏剧情  Kafka Streams中基于消息头条件过滤消息的实现指南  如何在更新Composer依赖后自动运行测试_使用post-update-cmd钩子触发PHPUnit  漫蛙漫画官方主页入口 漫蛙MANWA网页直达访问链接  Go语言中高效处理x-www-form-urlencoded表单数据  TikTok搜索结果不显示如何解决 TikTok搜索刷新优化方法  PowerPoint如何制作滚动字幕结尾彩蛋_PowerPoint路径动画实现平滑滚动字幕效果  4399网页游戏电脑版全新入口 4399电脑端在线玩指南  Mac怎么查看崩溃日志_Mac控制台错误报告分析  NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰  精准捕获:如何在页面中监听除特定元素外的所有点击事件  在python-socketio事件处理器中安全访问Flask应用上下文  俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问  在J*a中如何隐藏复杂性_使用门面模式组织对象交互  漫画星球免费下拉式入口 漫画星球免费漫画在线阅读网站  excel如何生成目录 excel一键生成工作表目录超链接  J*aScript中管理异步API调用:确保操作顺序与数据一致性  Linux如何排查内存不足OOME问题_LinuxOOM分析教程  Yandex浏览器官方网页版入口 Yandex浏览器最新版官网  Excel文件在线转换快速入口 Excel在线格式转换网站  如何使 Jest 模拟函数默认抛出错误以提高测试效率  邮政快递单号查询入口 邮政快递物流信息在线查询入口  qq游戏跨平台入口_qq游戏多设备同步登录  极速漫画官方主页网址 极速漫画漫画在线浏览官网链接  如何使用Go和Martini动态服务解码后的图片  如何在 Excel Online 和 Google 表格中更改日期格式  如何在CSS中使用浮动制作导航栏_float实现水平菜单 

搜索