程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 若依框架
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 若依框架
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入门

  • 后端手册

  • 前端手册

  • 组件文档

  • 数据库分析

    • 系统管理表
    • 任务调度表
      • 1. 任务详细信息表 (QRTZ_JOB_DETAILS)
      • 2. 触发器详细信息表 (QRTZ_TRIGGERS)
      • 3. 简单触发器信息表 (QRTZ_SIMPLE_TRIGGERS)
      • 4. Cron类型的触发器表 (QRTZ_CRON_TRIGGERS)
      • 5. Blob类型的触发器表 (QRTZ_BLOB_TRIGGERS)
      • 6. 日历信息表 (QRTZ_CALENDARS)
      • 7. 暂停的触发器表 (QRTZ_PAUSED_TRIGGER_GRPS)
      • 8. 已触发的触发器表 (QRTZ_FIRED_TRIGGERS)
      • 9. 调度器状态表 (QRTZ_SCHEDULER_STATE)
      • 10. 悲观锁信息表 (QRTZ_LOCKS)
      • 11. 同步机制的行锁表 (QRTZ_SIMPROP_TRIGGERS)
  • 若依框架
  • 数据库分析
scholar
2024-08-31
目录

任务调度表

# 1. 任务详细信息表 (QRTZ_JOB_DETAILS)

表作用:
QRTZ_JOB_DETAILS 表存储每一个已配置的 JobDetail 的详细信息,这些信息包括任务名称、任务组、描述、执行类名等。该表记录了任务的元数据信息。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_JOB_DETAILS;

-- 创建任务详细信息表
create table QRTZ_JOB_DETAILS (
    sched_name           varchar(120)    not null            comment '调度名称',         -- Quartz Scheduler的名称
    job_name             varchar(200)    not null            comment '任务名称',         -- Job的名称
    job_group            varchar(200)    not null            comment '任务组名',         -- Job所属的组名
    description          varchar(250)    null                comment '相关介绍',         -- Job的描述
    job_class_name       varchar(250)    not null            comment '执行任务类名称',   -- Job执行类的全限定名
    is_durable           varchar(1)      not null            comment '是否持久化',       -- Job是否需要持久化
    is_nonconcurrent     varchar(1)      not null            comment '是否并发',         -- Job是否允许并发执行
    is_update_data       varchar(1)      not null            comment '是否更新数据',     -- Job是否允许更新数据
    requests_recovery    varchar(1)      not null            comment '是否接受恢复执行', -- Job是否接受恢复执行
    job_data             blob            null                comment '存放持久化job对象', -- 持久化的Job数据
    primary key (sched_name, job_name, job_group)                                -- 复合主键,确保任务的唯一性
) engine=innodb comment = '任务详细信息表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

表之间的关系:

  • QRTZ_JOB_DETAILS 表是 Quartz 中任务的核心元数据表,与其他表如 QRTZ_TRIGGERS 通过 job_name 和 job_group 字段进行关联,表示触发器触发哪个任务。

# 2. 触发器详细信息表 (QRTZ_TRIGGERS)

表作用:
QRTZ_TRIGGERS 表存储已配置的 Trigger 的信息,这些信息包括触发器名称、组名、任务名称、任务组名、下次触发时间、触发器状态等。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_TRIGGERS;

-- 创建触发器详细信息表
create table QRTZ_TRIGGERS (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    trigger_name         varchar(200)    not null            comment '触发器的名字',      -- 触发器的名称
    trigger_group        varchar(200)    not null            comment '触发器所属组的名字', -- 触发器所属的组名
    job_name             varchar(200)    not null            comment 'qrtz_job_details表job_name的外键', -- 对应的Job名称
    job_group            varchar(200)    not null            comment 'qrtz_job_details表job_group的外键', -- 对应的Job组名
    description          varchar(250)    null                comment '相关介绍',          -- 触发器的描述
    next_fire_time       bigint(13)      null                comment '上一次触发时间(毫秒)', -- 下次触发时间
    prev_fire_time       bigint(13)      null                comment '下一次触发时间(默认为-1表示不触发)', -- 上次触发时间
    priority             integer         null                comment '优先级',            -- 触发器的优先级
    trigger_state        varchar(16)     not null            comment '触发器状态',        -- 触发器的状态
    trigger_type         varchar(8)      not null            comment '触发器的类型',      -- 触发器的类型(如Simple, Cron)
    start_time           bigint(13)      not null            comment '开始时间',          -- 触发器的开始时间
    end_time             bigint(13)      null                comment '结束时间',          -- 触发器的结束时间
    calendar_name        varchar(200)    null                comment '日程表名称',        -- 日历名称
    misfire_instr        smallint(2)     null                comment '补偿执行的策略',    -- 触发器的Misfire策略
    job_data             blob            null                comment '存放持久化job对象', -- 持久化的Job数据
    primary key (sched_name, trigger_name, trigger_group),   -- 复合主键,确保触发器的唯一性
    foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group) -- 外键关联到QRTZ_JOB_DETAILS
) engine=innodb comment = '触发器详细信息表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

表之间的关系:

  • QRTZ_TRIGGERS 表与 QRTZ_JOB_DETAILS 表通过 sched_name, job_name, job_group 进行外键关联,用于指定触发器关联的具体任务。

# 3. 简单触发器信息表 (QRTZ_SIMPLE_TRIGGERS)

表作用:
QRTZ_SIMPLE_TRIGGERS 表用于存储简单类型的 Trigger 的信息,如重复次数、重复间隔时间和已触发次数等。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_SIMPLE_TRIGGERS;

-- 创建简单触发器信息表
create table QRTZ_SIMPLE_TRIGGERS (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键', -- 触发器名称
    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键', -- 触发器组名
    repeat_count         bigint(7)       not null            comment '重复的次数统计',    -- 触发器的重复次数
    repeat_interval      bigint(12)      not null            comment '重复的间隔时间',    -- 触发器的间隔时间
    times_triggered      bigint(10)      not null            comment '已经触发的次数',    -- 触发器已触发的次数
    primary key (sched_name, trigger_name, trigger_group),   -- 复合主键,确保触发器的唯一性
    foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -- 外键关联到QRTZ_TRIGGERS
) engine=innodb comment = '简单触发器的信息表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14

表之间的关系:

  • QRTZ_SIMPLE_TRIGGERS 表通过 sched_name, trigger_name, trigger_group 字段与 QRTZ_TRIGGERS 表关联,记录简单触发器的额外信息。

# 4. Cron类型的触发器表 (QRTZ_CRON_TRIGGERS)

表作用:
QRTZ_CRON_TRIGGERS 表用于存储 Cron 类型的 Trigger 信息,包括 Cron 表达式和时区信息。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_CRON_TRIGGERS;

-- 创建Cron类型的触发器表
create table QRTZ_CRON_TRIGGERS (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键', -- 触发器名称
    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键', -- 触发器组名
    cron_expression      varchar(200)    not null            comment 'cron表达式',         -- Cron表达式
    time_zone_id         varchar(80)                         comment '时区',             -- 触发器的时区信息
    primary key (sched_name, trigger_name, trigger_group),   -- 复合主键,确保触发器的唯一性
    foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name

, trigger_group) -- 外键关联到QRTZ_TRIGGERS
) engine=innodb comment = 'Cron类型的触发器表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

表之间的关系:

  • QRTZ_CRON_TRIGGERS 表通过 sched_name, trigger_name, trigger_group 字段与 QRTZ_TRIGGERS 表关联,记录 Cron 类型触发器的特定信息。

# 5. Blob类型的触发器表 (QRTZ_BLOB_TRIGGERS)

表作用:
QRTZ_BLOB_TRIGGERS 表用于存储 Trigger 作为 Blob 类型的数据信息,这通常用于自定义的触发器类型。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_BLOB_TRIGGERS;

-- 创建Blob类型的触发器表
create table QRTZ_BLOB_TRIGGERS (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键', -- 触发器名称
    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键', -- 触发器组名
    blob_data            blob            null                comment '存放持久化Trigger对象', -- 持久化的触发器对象
    primary key (sched_name, trigger_name, trigger_group),   -- 复合主键,确保触发器的唯一性
    foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -- 外键关联到QRTZ_TRIGGERS
) engine=innodb comment = 'Blob类型的触发器表';
1
2
3
4
5
6
7
8
9
10
11
12

表之间的关系:

  • QRTZ_BLOB_TRIGGERS 表通过 sched_name, trigger_name, trigger_group 字段与 QRTZ_TRIGGERS 表关联,存储自定义触发器的 Blob 类型数据。

# 6. 日历信息表 (QRTZ_CALENDARS)

表作用:
QRTZ_CALENDARS 表用于存储 Quartz 日历信息,Quartz 允许用户定义日历来指定哪些时间段内不触发任务。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_CALENDARS;

-- 创建日历信息表
create table QRTZ_CALENDARS (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    calendar_name        varchar(200)    not null            comment '日历名称',          -- 日历名称
    calendar             blob            not null            comment '存放持久化calendar对象', -- 持久化的日历对象
    primary key (sched_name, calendar_name)                  -- 复合主键,确保日历的唯一性
) engine=innodb comment = '日历信息表';
1
2
3
4
5
6
7
8
9
10

表之间的关系:

  • QRTZ_CALENDARS 表独立存储日历信息,供调度器及其触发器在运行时进行时间计算时使用。

# 7. 暂停的触发器表 (QRTZ_PAUSED_TRIGGER_GRPS)

表作用:
QRTZ_PAUSED_TRIGGER_GRPS 表用于存储已暂停的触发器组的信息。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_PAUSED_TRIGGER_GRPS;

-- 创建暂停的触发器表
create table QRTZ_PAUSED_TRIGGER_GRPS (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键', -- 触发器组名
    primary key (sched_name, trigger_group)                  -- 复合主键,确保触发器组的唯一性
) engine=innodb comment = '暂停的触发器表';
1
2
3
4
5
6
7
8
9

表之间的关系:

  • QRTZ_PAUSED_TRIGGER_GRPS 表独立存储暂停的触发器组信息,以便调度器能够在重新启动时知道哪些触发器需要保持暂停状态。

# 8. 已触发的触发器表 (QRTZ_FIRED_TRIGGERS)

表作用:
QRTZ_FIRED_TRIGGERS 表存储与已触发的 Trigger 相关的状态信息,以及关联 Job 的执行信息。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_FIRED_TRIGGERS;

-- 创建已触发的触发器表
create table QRTZ_FIRED_TRIGGERS (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    entry_id             varchar(95)     not null            comment '调度器实例id',      -- 触发器的实例ID
    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键', -- 触发器名称
    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键', -- 触发器组名
    instance_name        varchar(200)    not null            comment '调度器实例名',      -- 调度器实例名称
    fired_time           bigint(13)      not null            comment '触发的时间',        -- 触发器触发的时间
    sched_time           bigint(13)      not null            comment '定时器制定的时间',  -- 定时器规定的时间
    priority             integer         not null            comment '优先级',            -- 触发器的优先级
    state                varchar(16)     not null            comment '状态',              -- 触发器的状态
    job_name             varchar(200)    null                comment '任务名称',          -- 任务名称(可为空)
    job_group            varchar(200)    null                comment '任务组名',          -- 任务组名(可为空)
    is_nonconcurrent     varchar(1)      null                comment '是否并发',          -- 是否并发
    requests_recovery    varchar(1)      null                comment '是否接受恢复执行',  -- 是否接受恢复执行
    primary key (sched_name, entry_id)                         -- 复合主键,确保触发器的唯一性
) engine=innodb comment = '已触发的触发器表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

表之间的关系:

  • QRTZ_FIRED_TRIGGERS 表记录触发器的运行历史,提供恢复和并发处理的信息。

# 9. 调度器状态表 (QRTZ_SCHEDULER_STATE)

表作用:
QRTZ_SCHEDULER_STATE 表存储少量有关 Scheduler 的状态信息。如果用于集群中,可以看到其他 Scheduler 实例的状态。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_SCHEDULER_STATE;

-- 创建调度器状态表
create table QRTZ_SCHEDULER_STATE (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    instance_name        varchar(200)    not null            comment '实例名称',          -- 调度器实例名称
    last_checkin_time    bigint(13)      not null            comment '上次检查时间',      -- 上次检查时间
    checkin_interval     bigint(13)      not null            comment '检查间隔时间',      -- 检查的间隔时间
    primary key (sched_name, instance_name)                  -- 复合主键,确保实例的唯一性
) engine=innodb comment = '调度器状态表';
1
2
3
4
5
6
7
8
9
10
11

表之间的关系:

  • QRTZ_SCHEDULER_STATE 表用于记录调度器的运行状态,尤其在集群环境中,确保各个调度器实例的同步和协调。

# 10. 悲观锁信息表 (QRTZ_LOCKS)

表作用:
QRTZ_LOCKS 表存储程序的悲观锁信息,主要用于同步机制,防止多个调度器实例同时访问相同的资源。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_LOCKS;

-- 创建悲观锁信息表
create table QRTZ_LOCKS (
    sched_name           varchar

(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    lock_name            varchar(40)     not null            comment '悲观锁名称',        -- 悲观锁的名称
    primary key (sched_name, lock_name)                      -- 复合主键,确保锁的唯一性
) engine=innodb comment = '存储的悲观锁信息表';
1
2
3
4
5
6
7
8
9
10
11

表之间的关系:

  • QRTZ_LOCKS 表独立存在,主要用于调度器的同步锁机制,避免资源竞争冲突。

# 11. 同步机制的行锁表 (QRTZ_SIMPROP_TRIGGERS)

表作用:
QRTZ_SIMPROP_TRIGGERS 表用于存储 Quartz 集群实现同步机制时的行锁信息。

表结构和 SQL 语句:

-- 如果表已存在则删除,确保创建的是最新表
drop table if exists QRTZ_SIMPROP_TRIGGERS;

-- 创建同步机制的行锁表
create table QRTZ_SIMPROP_TRIGGERS (
    sched_name           varchar(120)    not null            comment '调度名称',          -- Quartz Scheduler的名称
    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键', -- 触发器名称
    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键', -- 触发器组名
    str_prop_1           varchar(512)    null                comment 'String类型的trigger的第一个参数', -- String参数1
    str_prop_2           varchar(512)    null                comment 'String类型的trigger的第二个参数', -- String参数2
    str_prop_3           varchar(512)    null                comment 'String类型的trigger的第三个参数', -- String参数3
    int_prop_1           int             null                comment 'int类型的trigger的第一个参数',    -- Int参数1
    int_prop_2           int             null                comment 'int类型的trigger的第二个参数',    -- Int参数2
    long_prop_1          bigint          null                comment 'long类型的trigger的第一个参数',   -- Long参数1
    long_prop_2          bigint          null                comment 'long类型的trigger的第二个参数',   -- Long参数2
    dec_prop_1           numeric(13,4)   null                comment 'decimal类型的trigger的第一个参数',-- Decimal参数1
    dec_prop_2           numeric(13,4)   null                comment 'decimal类型的trigger的第二个参数',-- Decimal参数2
    bool_prop_1          varchar(1)      null                comment 'Boolean类型的trigger的第一个参数',-- Boolean参数1
    bool_prop_2          varchar(1)      null                comment 'Boolean类型的trigger的第二个参数',-- Boolean参数2
    primary key (sched_name, trigger_name, trigger_group),   -- 复合主键,确保触发器的唯一性
    foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) -- 外键关联到QRTZ_TRIGGERS
) engine=innodb comment = '同步机制的行锁表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

表之间的关系:

  • QRTZ_SIMPROP_TRIGGERS 表通过 sched_name, trigger_name, trigger_group 字段与 QRTZ_TRIGGERS 表关联,存储集群同步机制中使用的行锁信息。
编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
系统管理表

← 系统管理表

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式