【quartz表结构及说明】


一、quartz表信息

  1. qrtz_blob_triggers : 以Blob 类型存储的触发器。
  2. qrtz_calendars:存放日历信息, quartz可配置一个日历来指定一个时间范围。
  3. qrtz_cron_triggers:存放cron类型的触发器。
  4. qrtz_fired_triggers:存放已触发的触发器
  5. qrtz_job_details:存放一个jobDetail信息。
  6. qrtz_job_listeners:job监听器。
  7. qrtz_locks: 存储程序的悲观锁的信息(假如使用了悲观锁)。
  8. qrtz_paused_trigger_graps:存放暂停掉的触发器。
  9. qrtz_scheduler_state:调度器状态。
  10. qrtz_simple_triggers:简单触发器的信息。
  11. qrtz_trigger_listeners:触发器监听器。
  12. qrtz_triggers:触发器的基本信息。

二、表字段说明

1.qrtz_blob_triggers

自定义触发器表,用的不太多。。

CREATE TABLE `qrtz_blob_triggers` (
  `SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',
  `TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',
  `TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器群组',
  `BLOB_DATA` blob COMMENT '基本信息',
  PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
  KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
  CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用于 Quartz 用户用 JDBC 创建他们自己定制的 Trigger 类型,JobStore并不知道如何存储实例的时候';

   
   

    2.qrtz_calendars

    日历信息触发器

    CREATE TABLE `qrtz_calendars` (
      `SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',
      `CALENDAR_NAME` varchar(200) NOT NULL COMMENT '触发器名称',
      `CALENDAR` blob NOT NULL COMMENT '日历信息',
      PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='日历信息触发器';
    
       
       

      3.qrtz_cron_triggers

      cron 表达式用的特别多。在线cron表达式生成地址

      CREATE TABLE `qrtz_cron_triggers` (
        `SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',
        `TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',
        `TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器群组',
        `CRON_EXPRESSION` varchar(120) NOT NULL COMMENT 'cron表达式',
        `TIME_ZONE_ID` varchar(80) DEFAULT NULL COMMENT '时区',
        PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
        CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='cron触发器';
      
         
         

        4.qrtz_fired_triggers

        CREATE TABLE `qrtz_fired_triggers` (
          `SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',
          `ENTRY_ID` varchar(95) NOT NULL COMMENT '组织id',
          `TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',
          `TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器组',
          `INSTANCE_NAME` varchar(200) NOT NULL COMMENT '实例名称',
          `FIRED_TIME` bigint(13) NOT NULL COMMENT '触发时间',
          `SCHED_TIME` bigint(13) NOT NULL COMMENT '计划时间',
          `PRIORITY` int(11) NOT NULL COMMENT '权重',
          `STATE` varchar(16) NOT NULL COMMENT '状态',
          `JOB_NAME` varchar(200) DEFAULT NULL COMMENT '作业名称',
          `JOB_GROUP` varchar(200) DEFAULT NULL COMMENT '作业群组',
          `IS_NONCONCURRENT` varchar(1) DEFAULT NULL COMMENT '是否并行',
          `REQUESTS_RECOVERY` varchar(1) DEFAULT NULL COMMENT '是否要求唤醒',
          PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`),
          KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`),
          KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`),
          KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
          KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`),
          KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
          KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='存储与已触发的 Trigger 相关的状态信息,以及相联 Job的执行信息QRTZ_PAUSED_TRIGGER_GRPS 存储已暂停的 Trigger组的信息';
        
           
           

          5.qrtz_job_details

          CREATE TABLE `qrtz_job_details` (
            `SCHED_NAME` varchar(120) NOT NULL COMMENT '调度器名称',
            `JOB_NAME` varchar(200) NOT NULL COMMENT '任务名称',
            `JOB_GROUP` varchar(200) NOT NULL COMMENT '任务群组',
            `DESCRIPTION` varchar(250) DEFAULT NULL COMMENT '说明',
            `JOB_CLASS_NAME` varchar(250) NOT NULL COMMENT '任务class全路径',
            `IS_DURABLE` varchar(1) NOT NULL,
            `IS_NONCONCURRENT` varchar(1) NOT NULL,
            `IS_UPDATE_DATA` varchar(1) NOT NULL,
            `REQUESTS_RECOVERY` varchar(1) NOT NULL,
            `JOB_DATA` blob,
            PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
            KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`),
            KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`)
          ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
          
             
             

            6. qrtz_locks

            CREATE TABLE `qrtz_locks` (
              `SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',
              `LOCK_NAME` varchar(40) NOT NULL COMMENT '锁名称',
              PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='通过悲观锁获取触发器';
            
               
               

              在集群模式下,通过悲观锁来保证触发器有序的获取。

              7.qrtz_paused_trigger_grps

              CREATE TABLE `qrtz_paused_trigger_grps` (
                `SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',
                `TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器组',
                PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`)
              ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='被暂停的触发器';
              
                 
                 

                8. qrtz_scheduler_state

                CREATE TABLE `qrtz_scheduler_state` (
                  `SCHED_NAME` varchar(120) NOT NULL COMMENT '调度器名称',
                  `INSTANCE_NAME` varchar(200) NOT NULL,
                  `LAST_CHECKIN_TIME` bigint(13) NOT NULL COMMENT '最后验证时间',
                  `CHECKIN_INTERVAL` bigint(13) NOT NULL COMMENT '时间间隔',
                  PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`)
                ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
                
                   
                   

                  集群模式下,一般每一个服务对应表中的一条数据。并且定时更新表的LAST_CHECKIN_TIME字段,来说明自己是存或状态。在没有zookeeper的情况下,在判断服务存或的时候,这种方式也算是一种相对较好的方式。SCHED_NAME的名字可通过配置进行修改。
                  在这里插入图片描述

                  9.qrtz_simple_triggers

                  CREATE TABLE `qrtz_simple_triggers` (
                    `SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',
                    `TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',
                    `TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器组',
                    `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`),
                    CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
                  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='存储简单的Trigger,包括重复次数,间隔,以及已触的次数';
                  

                  10.qrtz_triggers

                  CREATE TABLE `qrtz_triggers` (
                    `SCHED_NAME` varchar(120) NOT NULL COMMENT '计划名称',
                    `TRIGGER_NAME` varchar(200) NOT NULL COMMENT '触发器名称',
                    `TRIGGER_GROUP` varchar(200) NOT NULL COMMENT '触发器群组',
                    `JOB_NAME` varchar(200) NOT NULL COMMENT '作业名称',
                    `JOB_GROUP` varchar(200) NOT NULL COMMENT '作业群组',
                    `DESCRIPTION` varchar(250) DEFAULT NULL COMMENT '说明信息',
                    `NEXT_FIRE_TIME` bigint(13) DEFAULT NULL COMMENT '下次执行时间',
                    `PREV_FIRE_TIME` bigint(13) DEFAULT NULL COMMENT '上次执行时间',
                    `PRIORITY` int(11) DEFAULT NULL COMMENT '线程优先级',
                    `TRIGGER_STATE` varchar(16) NOT NULL COMMENT '触发状态此字段很重要',
                    `TRIGGER_TYPE` varchar(8) NOT NULL COMMENT '触发器类型',
                    `START_TIME` bigint(13) NOT NULL COMMENT '开始时间',
                    `END_TIME` bigint(13) DEFAULT NULL COMMENT '结束时间',
                    `CALENDAR_NAME` varchar(200) DEFAULT NULL COMMENT '日历名称',
                    `MISFIRE_INSTR` smallint(2) DEFAULT NULL,
                    `JOB_DATA` blob,
                    PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
                    KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
                    KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`),
                    KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`),
                    KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`),
                    KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`),
                    KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
                    KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
                    KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`),
                    KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`),
                    KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`),
                    KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`),
                    KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
                    CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`)
                  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='触发器和作业绑定';
                  

                  主要是对于触发器和作业的表的绑定。

                  • 2
                    点赞
                  • 17
                    收藏
                    觉得还不错? 一键收藏
                  • 0
                    评论
                  Quartz数据库包含了11张用于存储调度信息和实现分布式锁。这些包括: 1. QRTZ_JOB_DETAILS:存储Job的详细信息,如Job的类名、组名、描述等。 2. QRTZ_TRIGGERS:存储Trigger的详细信息,如Trigger的名称、组名、描述、达式等。 3. QRTZ_SIMPLE_TRIGGERS:存储SimpleTrigger的详细信息,如Trigger的重复间隔、重复次数等。 4. QRTZ_CRON_TRIGGERS:存储CronTrigger的详细信息,如Trigger的Cron达式、时区等。 5. QRTZ_SIMPROP_TRIGGERS:存储SimplePropertyTrigger的详细信息,如Trigger的属性值等。 6. QRTZ_BLOB_TRIGGERS:存储BlobTrigger的详细信息,如Trigger的Blob数据等。 7. QRTZ_CALENDARS:存储Calendar的详细信息,如Calendar的名称、描述、日历规则等。 8. QRTZ_PAUSED_TRIGGER_GRPS:存储已暂停的Trigger组的信息。 9. QRTZ_FIRED_TRIGGERS:存储已触发的Trigger的信息。 10. QRTZ_SCHEDULER_STATE:存储Scheduler的状态信息,包括Scheduler名称、版本、最后一次检查时间等。 11. QRTZ_LOCKS:存储Quartz提供的分布式锁的信息。 通过对这些的维护,可以实现对Trigger的管理和分布式调度的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Quartz数据库分析](https://blog.csdn.net/qq_41866572/article/details/80051520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

                  “相关推荐”对你有帮助么?

                  • 非常没帮助
                  • 没帮助
                  • 一般
                  • 有帮助
                  • 非常有帮助
                  提交
                  评论
                  添加红包

                  请填写红包祝福语或标题

                  红包个数最小为10个

                  红包金额最低5元

                  当前余额3.43前往充值 >
                  需支付:10.00
                  成就一亿技术人!
                  领取后你会自动成为博主和红包主的粉丝 规则
                  hope_wisdom
                  发出的红包
                  实付
                  使用余额支付
                  点击重新获取
                  扫码支付
                  钱包余额 0

                  抵扣说明:

                  1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
                  2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

                  余额充值