JBPM数据库表说明
http://blog.163.com/tigerlion@126/blog/static/167675665201072642627400/
最近这几天一直在研究JBPM工作流引擎,以下为JBMP的数据库说明,貌似不是最新的4.4版本的,不过有胜于无,用来学习JBPM足矣。因为内容太多,分成两篇发。
1 流程配置类数据库表:
1.1 JBPM_PROCESSDEFINITION:流程模版表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程模版标识 |
√ |
× |
NAME_ |
流程模版名称 |
× |
× |
VERSION_ |
流程模版版本,对于同一流程模版,多次插入数据库时,数据库中有多条记录,每条记录中的版本号一次增加 |
× |
× |
ISTERMINATIONIMPLICIT_ |
是否支持强行终止流程(目前理解) |
× |
× |
STARTSTATE_ |
起始节点ID,在JBPM_NODE表中 |
× |
√ |
1.2 JBPM_NODE:流程节点表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程节点标识 |
√ |
|
CLASS_ |
节点类型: C: org.jbpm.graph.node.ProcessState D: org.jbpm.graph.node.Decision E: org.jbpm.graph.node.EndState F: org.jbpm.graph.node.Fork J: org.jbpm.graph.node.Join K: org.jbpm.graph.node.TaskNode N: org.jbpm.graph.def.Node R: org.jbpm.graph.node.StartState S: org.jbpm.graph.node.State U: org.jbpm.graph.def.SuperState |
||
NAME_ |
流程节点名称 |
||
SUBPROCESSDEFINITION_ |
节点类型为ProcessState时使用,代表子流程模版id |
√ |
|
ISASYNC_ |
节点是否支持异步机制 |
||
ACTION_ |
节点中指定的action,对应JBPM_ACTION表 |
√ |
|
SUPERSTATE_ |
节点对应的SuperState的id,表明该节点属于某个SuperState |
√ |
|
PROCESSDEFINITION_ |
节点所在的流程模版id |
√ |
|
DECISIONDELEGATION |
节点类型为Decision时使用,表明Decision对应的代理类,对应JBPM_DELEGATION表 |
√ |
|
DECISIONEXPRESSION_ |
节点类型为Decision时使用,该属性表示Decision中使用的判断表达式 |
||
SIGNAL_ |
节点类型为Task |
||
CREATETASKS_ |
节点类型为Task |
||
ENDTASKS_ |
节点类型为Task |
||
NODECOLLECTIONINDEX_ |
节点类型为SuperState时使用, |
1.3 JBPM_TRANSITION:流程迁移表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程迁移标识 |
√ |
|
NAME_ |
流程迁移名称 |
||
PROCESSDEFINITION_ |
迁移所在的流程模版id |
√ |
|
FROM_ |
迁移来源,对应Node的id |
√ |
|
TO_ |
迁移目的,对应Node的id |
√ |
|
FROMINDEX_ |
? |
1.4 JBPM_ACTION:流程动作表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程动作标识 |
√ |
|
NAME_ |
流程动作名称 |
√ |
|
CLASS_ |
流程动作分类: A(动作): org.jbpm.graph.def.Action S(脚本): org.jbpm.graph.action.Script C(创建定时器): org.jbpm.scheduler.def.CreateTimerAction I(取消定时器): org.jbpm.scheduler.def.CancelTimerAction |
||
ISPROPAGATIONALLOWED_ |
? |
||
ACTIONEXPRESSION_ |
动作类行为I时使用,表示动作执行的脚本 |
||
ISASYNC_ |
动作是否支持异步机制 |
||
REFERENCEDACTION_ |
动作中引用的动作,对应JBPM_ACTION |
√ |
|
ACTIONDELEGATION_ |
动作类型为A时使用,表示动作执行的代理类,对应JBPM_DELEGATION |
√ |
|
EVENT_ |
动作中指定的事件,对应JBPM_EVENT |
||
PROCESSDEFINITION_ |
动作所在的流程模版id |
√ |
|
TIMERNAME_ |
定时器名称 |
||
DUEDATE_ |
定时器间隔时间 |
||
REPEAT_ |
定时器动作执行次数 |
||
TRANSITIONNAME_ |
动作指定后指向的Transition |
||
TIMERACTION_ |
定时器动作代理类,对应JBPM_ACTION |
||
EXPRESSION_ |
定时器执行表达式 |
||
EVENTINDEX_ |
? |
||
EXCEPTIONHANDLER_ |
异常处理类,对应JBPM_EXCEPTIONHANDLER |
||
EXCEPTIONHANDLERINDEX_ |
? |
1.5 JBPM_EVENT:流程事件表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程事件标识 |
√ |
|
EVENTTYPE_ |
流程事件类型名称 |
||
TYPE_ |
流程事件所在的图形节点类型 "A" :Task "C" :ProcessState "D" :Decision" "E" :EndState" "F" :Fork" "J" :Join" "K" :TaskNode" "N" :Node" "P" :ProcessDefinition" "R" :StartState" "S" :State" "T" :Transition" "U" :SuperState" |
||
GRAPHELEMENT_ |
流程事件所在的图形节点的ID |
||
PROCESSDEFINITION_ |
流程事件所属流程定义,对应JBPM_PROCESSDEFINITION |
√ |
|
NODE_ |
流程事件所属节点,对应JBPM_NODE |
√ |
|
TRANSITION_ |
流程事件所属迁移,对应JBPM_ TRANSITION |
√ |
|
TASK_ |
流程事件所属任务,对应JBPM_TASK |
√ |
1.6 JBPM_DELEGATION:流程代理类表(用于实例化jbpm中的action类)
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程代理标识 |
√ |
|
CLASSNAME_ |
流程代理类名称 |
||
CONFIGURATION_ |
流程代理类配置信息 |
||
CONFIGTYPE_ |
流程代理类配置类型 |
||
PROCESSDEFINITION_ |
流程代理类所属流程定义,对应JBPM_PROCESSDEFINITION |
√ |
1.7 JBPM_TASK:流程任务表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程任务标识 |
√ |
|
NAME_ |
流程任务名称 |
||
PROCESSDEFINITION_ |
流程任务所属流程定义,对应JBPM_PROCESSDEFINITION |
√ |
|
DESCRIPTION_ |
流程任务描述 |
||
ISBLOCKING_ |
任务是否为阻塞(任务不完成、流程不能继续) |
||
ISSIGNALING_ |
任务是否可以驱动TOKEN |
||
DUEDATE |
任务持续时间,表明任务应在多长时间内完成 |
||
ACTORIDEXPRESSION |
? |
||
POOLEDACTORSEXPRESSION |
? |
||
TASKMGMTDEFINITION_ |
任务所属的任务管理模块ID,对应JBPM_MODULEDEFIFNITION |
√ |
|
TASKNODE_ |
任务所属的TASK_NODE,对应JBPM_NODE |
√ |
|
STARTSTATE |
任务所属的START_NODE,对应JBPM_NODE |
√ |
|
ASSIGNMENTDELEGATION |
? |
√ |
|
SWIMLANE |
执行该任务的泳道(角色) |
√ |
|
TASKCONTROLLER_ |
? |
1.8 JBPM_TASKCONTROLLER:流程任务控制器
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程任务控制器标识 |
√ |
|
TASKCONTROLLERDELEGATION_ |
流程任务控制器对应的代理,对应JBPM_DELEGATION |
√ |
1.9 JBPM_VARIABLEACCESS:流程变量表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程变量标识 |
√ |
|
VARIABLENAME_ |
流程变量名称 |
||
ACCESS_ |
流程变量存取方式 |
||
MAPPEDNAME |
?(暂时不使用) |
||
PROCESSSTATE |
流程变量所属的流程节点,对应JBPM_NODE |
√ |
|
TASKCONTROLLER |
流程变量所属的流程任务控制器,对应JBPM_ TASKCONTROLLER |
√ |
|
INDEX_ |
? |
||
SCRIPT |
流程变量所属的ACTION,对应JBPM_ ACTION |
√ |
1.10 JBPM_MODULEDEFINITION:流程模块定义表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程模块标识 |
√ |
|
CLASS_ |
流程模块类型: M : org.jbpm.module.def.ModuleDefinition C : org.jbpm.context.def.ContextDefinition F : org.jbpm.file.def.FileDefinition L: org.jbpm.logging.def.LoggingDefinition I: org.jbpm.scheduler.def.SchedulerDefinition T: org.jbpm.taskmgmt.def.TaskMgmtDefinition |
||
NAME_ |
流程模块名称 |
||
PROCESSDEFINITION_ |
流程模块所属流程定义,对应JBPM_PROCESSDEFINITION |
√ |
|
STARTTASK |
类型为T时使用,对应JBPM_TASK |
√ |
1.11JBPM_EXCEPTIONHANDLER:流程异常处理器表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
流程异常处理器标识 |
√ |
|
EXCEPTIONHANDLERNAME_ |
流程异常处理器名称 |
||
TYPE_ |
流程异常处理器所在的图形节点类型 "A" :Task "C" :ProcessState "D" :Decision" "E" :EndState" "F" :Fork" "J" :Join" "K" :TaskNode" "N" :Node" "P" :ProcessDefinition" "R" :StartState" "S" :State" "T" :Transition" "U" :SuperState" |
||
GRAPHELEMENT_ |
流程异常处理器所在的图形节点的ID |
||
PROCESSDEFINITION_ |
流程异常处理器所属流程定义,对应JBPM_PROCESSDEFINITION |
√ |
|
NODE_ |
流程异常处理器所属节点,对应JBPM_NODE |
√ |
|
TRANSITION_ |
流程异常处理器所属迁移,对应JBPM_ TRANSITION |
√ |
|
TASK_ |
流程异常处理器所属任务,对应JBPM_TASK |
√ |
|
GRAPHELEMENTINDEX_ |
流程异常处理器中包含的ACTION集合的索引(?) |
1.12 JBPM_DECISIONCONDITION:DECISION节点判断条件表
字段名 |
字段含义 |
主键 |
外键 |
INDEX_ |
标识 |
√ |
|
DECISION_ |
所属的DECISION,对应JBPM_NODE |
√ |
|
TRANSITIONNAME_ |
DECISION节点的“离开节点名称” |
||
EXPRESSION |
每一个“离开节点名称”对应的条件表达式 |
1.13 JBPM_ SWINLANE:DECISION节点判断条件表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
标识 |
√ |
|
NAME_ |
泳道名称 |
√ |
|
TRANSITIONNAME_ |
DECISION节点的“离开节点名称” |
||
EXPRESSION |
每一个“离开节点名称”对应的条件表达式 |
2 流程运行类数据库表:
2.1 JBPM_PROCESSINSTANCE:流程实例表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
标识 |
√ |
|
VERSION_ |
版本 |
||
START_ |
流程实例开始时间 |
||
END_ |
流程实例结束时间 |
||
ISSUSPENDED |
流程实例是否暂停 |
||
PROCESSDEFINITION_ |
流程实例所属的流程模版,对应JBPM_PROCESSDEFINITION |
√ |
|
ROOTTOKEN_ |
流程实例对应的TOKEN,对应JBPM_TOKEN |
√ |
|
SUPERPROCESSTOKEN_ |
父流程的当前TOKEN的ID,当流程实例为子流程实例时使用,表明由父流程进入子流程时,父流程的当前TOKEN。对应JBPM_TOKEN |
√ |
2.2 JBPM_TOKEN:流程TOKEN表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
标识 |
√ |
|
VERSION_ |
版本 |
||
START_ |
TOKEN开始时间 |
||
END_ |
TOKEN结束时间 |
||
NODEENTER_ |
TOKEN进入当前节点(TOKEN当前所处的节点)的时间 |
||
NEXTLOGINDEX_ |
? |
||
ISABLETOREACTIVATEPARENT_ |
能否重新激活父TOKEN标志 |
||
ISTERMINATIONIMPLICIT_ |
能够强制终止TOKEN标志 |
||
ISSUSPENDED_ |
TOKEN是否处于暂停状态 |
||
NODE_ |
TOKEN所在的当前节点,对应JBPM_NODE |
√ |
|
PROCESSINSTANCE_ |
TOKEN所属的流程实例,对应JBPM_PROCESSINSTANCE |
√ |
|
PARENT_ |
TOKEN的父TOKEN,当TOKEN是由fock产生或处于子流程中时使用,对应JBPM_TOKEN |
√ |
2.3 JBPM_LOG:流程日志表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
标识 |
√ |
|
CLASS_ |
日志类型: A: ActionLog B: ByteArrayUpdateLog C: CompositeLog D: VariableDeleteLog E: DateUpdateLog F: HibernateStringUpdateLog G: LongUpdateLog H: HibernateLongUpdateLog I: ProcessInstanceCreateLog L: DoubleUpdateLog M: MessageLog N: NodeLog O: TokenCreateLog P: ProcessLog R: VariableCreateLog S: SignalLog T: TransitionLog U: StringUpdateLog V: VariableLog W: VariableUpdateLog X: ProcessInstanceEndLog Y: TokenEndLog 0: TaskLog 1: TaskCreateLog 2: TaskAssignLog 3: TaskEndLog 4: SwimlaneLog 5: SwimlaneCreateLog 6: SwimlaneAssignLog |
||
INDEX_ |
? |
||
DATE_ |
日志产生时间 |
||
TOKEN _ |
日志所属TOKEN |
||
PARENT_ |
日志的父日志,对应JBPM_LOG |
||
CHILD_ |
创建的子TOKEN,对应TokenCreateLog 结束的子TOKEN,对应TokenEndLog |
||
MESSAGE_ |
消息信息,当日志类型为M(MessageLog)时使用 |
||
EXCEPTION_ |
日志异常信息,对应ActionLog |
||
ACTION_ |
日志所属ACTION,当日志类型为A(ActionLog)时使用 |
||
NODE_ |
日志所属NODE,当日志类型为N(NodeLog)时使用 |
||
ENTER_ |
进入节点时间,对应NodeLog |
||
LEAVE_ |
离开节点时间,对应NodeLog |
||
DURATION_ |
节点停留时间,对应NodeLog |
||
TRANSITION_ |
日志所属TRANSITION |
||
SOURCENODE_ |
TRANSITION的起点,对应TransitionLog |
||
DESTINATIONNODE_ |
TRANSITION的终点,对应TransitionLog |
||
VARIABLEINSTANCE_ |
日志所属的流程变量实例,对应VariableLog |
||
OLDBYTEARRAY_ |
原BYTEARRAY值,对应ByteArrayUpdateLog |
||
NEWBYTEARRAY |
新BYTEARRAY值,对应ByteArrayUpdateLog |
||
OLDDATEVALUE |
原DATE值,对应DateUpdateLog |
||
NEWDATEVALUE |
新DATE值,对应DateUpdateLog |
||
OLDDOUBLEVALUE_ |
原DOUBLE值,对应DoubleUpdateLog |
||
NEWDOUBLEVALUE_ |
新DOUBLE值,对应DoubleUpdateLog |
||
OLDLONGIDCLASS_ |
原LONGIDCLASS值,对应HibernateLongUpdateLog |
||
NEWLONGIDCLASS_ |
新LONGIDCLASS值,对应HibernateLongUpdateLog |
||
OLDLONGIDVALUE_ |
原LONGID值,对应HibernateLongUpdateLog |
||
NEWLONGIDVALUE_ |
新LONGID值,对应HibernateLongUpdateLog |
||
OLDSTRINGIDCLASS_ |
原STRINGIDCLASS值,对应HibernateStringUpdateLog |
||
OLDSTRINGIDVALUE_ |
原STRINGID值,对应HibernateStringUpdateLog |
||
NEWSTRINGIDCLASS_ |
新STRINGIDCLASS值,对应HibernateStringUpdateLog |
||
NEWSTRINGIDVALUE_ |
新STRINGID值,对应HibernateStringUpdateLog |
||
OLDLONGVALUE_ |
原LONG值,对应LongUpdateLog |
||
NEWLONGVALUE_ |
新LONG值,对应LongUpdateLog |
||
OLDSTRINGVALUE_ |
原STRING值,对应StringUpdateLog |
||
NEWSTRINGVALUE_ |
新STRING值,对应StringUpdateLog |
||
TASKINSTANCE_ |
日志所属的TASKINSTANCE,对应TaskLog TaskCreateLog TaskAssignLog TaskEndLog |
||
TASKACTORID_ |
任务的新ACTORID,对应TaskAssignLog TaskCreateLog SwimlaneCreateLog SwimlaneAssignLog |
||
TASKOLDACTORID_ |
任务的原ACTORID,对应TaskAssignLog SwimlaneAssignLog |
||
SWIMLANEINSTANCE_ |
日志所属的SWIMLANEINSTANC,对应SwimlaneLog SwimlaneCreateLog SwimlaneAssignLog |
2.4 JBPM_RUNTIMEACTION:流程实时ACTION表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
标识 |
√ |
|
VERSION_ |
版本 |
||
EVENTTYPE_ |
实时ACTION所处的事件类型名称 |
||
TYPE_ |
实时ACTION所在的图形节点类型 "A" :Task "C" :ProcessState "D" :Decision" "E" :EndState" "F" :Fork" "J" :Join" "K" :TaskNode" "N" :Node" "P" :ProcessDefinition" "R" :StartState" "S" :State" "T" :Transition" "U" :SuperState" |
||
GRAPHELEMENT_ |
实时ACTION所在的图形节点的ID |
||
PROCESSINSTANCE_ |
实时ACTION所在的流程实例,对应JBPM_PROCESSINSTANCE |
||
ACTION_ |
实时ACTION对应的ACTION,对应JBPM_ACTION |
||
PROCESSINSTANCEINDEX_ |
? |
2.5 JBPM_VARIABLEINSTANCE:流程变量实例表
字段名 |
字段含义 |
主键 |
外键 |
ID_ |
标识 |
||
CLASS_ |
变量类型: V : org.jbpm.context.exe.VariableInstance B : org.jbpm.context.exe.variableinstance.ByteArrayInstance D : org.jbpm.context.exe.variableinstance.DateInstance O : org.jbpm.context.exe.variableinstance.DoubleInstance H : org.jbpm.context.exe.variableinstance.HibernateLongInstance I : org.jbpm.context.exe.variableinstance.HibernateStringInstance L : org.jbpm.context.exe.variableinstance.LongInstance S : org.jbpm.context.exe.variableinstance.StringInstance N : org.jbpm.context.exe.variableinstance.NullInstance |
||
NAME_ |
变量名称 |
||
TYPE_ |
? |
||
CONVERTER_ |
数值转换器 |
||
TOKEN_ |
变量所在的TOKEN,对应JBPM_TOKEN |
√ |
|
TOKENVARIABLEMAP_ |
该变量所属的TOKEN的变量映射,对应JBPM_TOKENVARIABLEMAP |
√ |
|
PROCESSINSTANCEINDEX_ |
? |
||
PROCESSINSTANCE_ |
变量所在的流程实例,对应JBPM_PROCESSINSTANCE |
√ |
|
BYTEARRAYVALUE_ |
当流程变量是ByteArray类型时,变量的值,对应JBPM_BYTEARRAY |
||
DATEVALUE_ |
当流程变量是DATE类型时,变量的值 |
||
DOUBLEVALUE_ |
当流程变量是DOUBLE类型时,变量的值 |
||
LONGIDCLASS_ |
当流程变量是了HibernateLongInstance类型时,变量的类型 |
||
LONGVALUE_ |
当流程变量是了HibernateLongInstance/Long类型时,变量的值 |
||
STRINGIDCLASS_ |
当流程变量是了HibernateStringInstance类型时,变量的类型 |
||
STRINGVALUE_ |
当流程变量是了HibernateStringInstance/String类型时,变量的值 |
||
TASKINSTANCE_ |
变量所在的任务实例,对应JBPM_TASKINSTANCE |
JBPM数据库表说明的更多相关文章
- JBPM工作流(二)——数据库表说明
以下为JBMP的数据库说明(18张): 1 流程配置类数据库表: 1.1 JBPM_PROCESSDEFINITION:流程模版表 字段名 字段含义 主键 外键 ID_ 流程模版标识 √ × NAME ...
- 开源流程引擎Camunda BPM如何扩展数据库表
前言 在使用开源流程引擎(如:JBPM.Activiti.Flowable.Camunda等)的时候,经常会遇到这样的需求,我们需要按照业务需求增加一张数据库的表,而且这张表是跟工作流引擎有交互的(注 ...
- 绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来
我用到的数据库为,mysql数据库5.7版本的 1.首先自己准备好数据库表 其实我在插入1000万条数据的时候遇到了一些问题,现在先来解决他们,一开始我插入100万条数据时候报错,控制台的信息如下: ...
- 数据库表结构设计方法及原则(li)
数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满 ...
- 对于多个数据库表对应一个Model问题的思考
最近做项目遇到一个场景,就是客户要求为其下属的每一个分支机构建一个表存储相关数据,而这些表的结构都是一样的,只是分属于不同的机构.这个问题抽象一下就是多个数据库表对应一个Model(或者叫实体类).有 ...
- C# .Net :Excel NPOI导入导出操作教程之将Excel文件读取并写到数据库表,示例分享
using (FileStream fileReader = File.OpenRead(@"C:\Users\Administrator\Desktop\112.xls")) ...
- mysql数据库表的自增主键号不规律,重新排列
mysql数据库表的自增主键ID乱了,需要重新排序. 原理:删除原有的自增ID,重新建立新的自增ID. 1.删除原有主键: ALTER TABLE `table_name` DROP `id`; 2. ...
- 数据库(SQL Server)管理数据库表~新奇之处
说到“数据库”,我总有一种莫名的感觉,在刚刚接触到的数据库中就让我似懂非懂渡过着,于是思考着.于是在冷静的时空中让我回想到了很多的知识,不知你们是怎样过来的,真心希望我的这篇数据库总结能够让我们都有一 ...
- hibernate笔记--通过SchemaExport生成数据库表
方法比较简单,项目中只需要两个java类(一个实体类,如User,一个工具类),两个配置文件(hibernate必须的两个配置文件hibernate.cfg.xml,与User.hbm.xml),即可 ...
随机推荐
- Portlet 通信过程详解
Portlet 通信过程详解 在 Portal 的开发过程中,Theme 与 portlet 之间的通信,以及 portlet 之间的通信是开发人员常常遇到的问题.通常 Portlet 之间需要能够互 ...
- Linux(CentOS)常用命令
http://fedoranews.org/alex/tutorial/rpm/3.shtml rpm.org rpm -qa|grep mysql 查询已安装的含有mysql的包. mv 移动文件. ...
- *[codility]MaxCounters
http://codility.com/demo/take-sample-test/maxcounters 简单题.注意要记录两个max,一个是最大值,一个是已经生效的最大值. // you can ...
- ssh 密钥详解
ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(192.168.1.155),B(192.168.1.181).现想 ...
- Android开发之ADT中无Annotation Processin的解决办法
使用ButterKnife的时候,进入ADT中设置的时候发现在Java Compiler展开后无Annotation Processin 解决办法: 安装插件:Juno - http://downlo ...
- Oracle系列之序列
涉及到表的处理请参看原表结构与数据 Oracle建表插数据等等 语法结构:创建序列 create sequence sequence_name start with num increment by ...
- hdu4632Palindrome subsequence
http://acm.hdu.edu.cn/showproblem.php?pid=4632 TLE了N次 原因居然是取模次数太多了..! 这数据卡的好紧 还是我写的太搓..828ms挤过 s[i]= ...
- SQL语句优化方法
1.1 注释使用 在语句中多写注释,注释不影响SQL语句的执行效率.增加代码的可读性. 1.2 对于事务的使用 尽量使事务处理达到最短,如果事务太长最好按功能将事务分开执行(如:可以让用户在界面上多几 ...
- [NYOJ 37] 回文字符串
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当 ...
- 多线程模式之MasterWorker模式
多线程模式之MasterWorker模式 Master-Worker模式的核心思想是,系统由两类进程协作工作:Master进程和Worker进程.Master进程负责接收和分配任务,Worker进程负 ...