anonymous wrote : Are 1,2 and 3 valid for all DBMS you use? Would be great if 
you could confirm that. 

Definitely Oracle and Sybase, don't have much experience with MSSql yet.

anonymous wrote : And maybe also what the default locking mechanisms are on 
specific database. 

Defaults:
Oracle - Row locking (as long as it has the indexes it needs to group the rows)
Sybase - Table locking (row locking must be specified on a table)
MSSql - Version 7+ defaults to row locking 

anonymous wrote : Surprises me that there is no slowdown btw. And I'm also 
curious what additional indexes you created that are not already on jBPM. Since 
I was under the impression that FK relations had an index. 

Surprised us too :)
I think that certain DB's automatically index the foreign key columns, but 
apparently Oracle, Sybase, and SqlServer do not. We added these indices:

  | /* OLF - Add indices on foreign keys */
  | create index JBPM_ACTION_EVENT_IDX    on    JBPM_ACTION (EVENT_);
  | create index JBPM_ACTION_EXCEPT_IDX   on    JBPM_ACTION (EXCEPTIONHANDLER_);
  | create index JBPM_ACTION_PROCDEFN_IDX         on    JBPM_ACTION 
(PROCESSDEFINITION_);
  | create index JBPM_ACTION_TIMERACTION_IDX  on        JBPM_ACTION 
(TIMERACTION_);
  | create index JBPM_ACTION_ACTIONDEL_IDX        on    JBPM_ACTION 
(ACTIONDELEGATION_);
  | create index JBPM_ACTION_REFACTION_IDX        on    JBPM_ACTION 
(REFERENCEDACTION_);
  | 
  | create index JBPM_BYTEARRAY_FILEDEFN_IDX  on        JBPM_BYTEARRAY 
(FILEDEFINITION_);
  | create index JBPM_BYTEBLOCK_PROCFILE_IDX  on        JBPM_BYTEBLOCK 
(PROCESSFILE_);
  | 
  | create index JBPM_COMMENT_TOKEN_IDX   on    JBPM_COMMENT (TOKEN_);
  | create index JBPM_COMMENT_TASKINST_IDX        on    JBPM_COMMENT 
(TASKINSTANCE_);
  | 
  | create index JBPM_DECISIONCOND_DEC_IDX        on    JBPM_DECISIONCONDITIONS 
(DECISION_);
  | 
  | create index JBPM_DELEGATION_PROCDEFN_IDX on        JBPM_DELEGATION 
(PROCESSDEFINITION_);
  | 
  | create index JBPM_EVENT_PROCDEFN_IDX          on    JBPM_EVENT 
(PROCESSDEFINITION_);
  | create index JBPM_EVENT_NODE_IDX      on    JBPM_EVENT (NODE_);
  | create index JBPM_EVENT_TRANSITION_IDX        on    JBPM_EVENT 
(TRANSITION_);
  | create index JBPM_EVENT_TASK_IDX      on    JBPM_EVENT (TASK_);
  | 
  | create index JBPM_LOG_SRCENODE_IDX    on    JBPM_LOG (SOURCENODE_);
  | create index JBPM_LOG_TOKEN_IDX               on    JBPM_LOG (TOKEN_);
  | create index JBPM_LOG_OLDBYTE_IDX     on    JBPM_LOG (OLDBYTEARRAY_);
  | create index JBPM_LOG_NEWBYTE_IDX     on    JBPM_LOG (NEWBYTEARRAY_);
  | create index JBPM_LOG_CHILD_IDX               on    JBPM_LOG (CHILD_);
  | create index JBPM_LOG_DESTNODE_IDX    on    JBPM_LOG (DESTINATIONNODE_);
  | create index JBPM_LOG_TASKINST_IDX    on    JBPM_LOG (TASKINSTANCE_);
  | create index JBPM_LOG_SWIMLANEINSTANCE_IDX on       JBPM_LOG 
(SWIMLANEINSTANCE_);
  | create index JBPM_LOG_PARENT_IDX      on    JBPM_LOG (PARENT_);
  | create index JBPM_LOG_NODE_IDX                on    JBPM_LOG (NODE_);
  | create index JBPM_LOG_ACTION_IDX      on    JBPM_LOG (ACTION_);
  | create index JBPM_LOG_VARINST_IDX     on    JBPM_LOG (VARIABLEINSTANCE_);
  | create index JBPM_LOG_TRANSITION_IDX          on    JBPM_LOG (TRANSITION_);
  | 
  | create index JBPM_MODULEDEFN_STRTTASK_IDX on        JBPM_MODULEDEFINITION 
(STARTTASK_);
  | create index JBPM_MODULEDEFN_PROCDEFN_IDX on        JBPM_MODULEDEFINITION 
(PROCESSDEFINITION_);
  | 
  | create index JBPM_MODULEINST_TASKMGMT_IDX on        JBPM_MODULEINSTANCE 
(TASKMGMTDEFINITION_);
  | create index JBPM_MODULEINST_PROCINST_IDX on        JBPM_MODULEINSTANCE 
(PROCESSINSTANCE_);
  | 
  | create index JBPM_NODE_SUBPDEFN_IDX   on    JBPM_NODE 
(SUBPROCESSDEFINITION_);
  | create index JBPM_NODE_PROCDEFN_IDX   on    JBPM_NODE (PROCESSDEFINITION_);
  | create index JBPM_NODE_ACTION_IDX     on    JBPM_NODE (ACTION_);
  | create index JBPM_NODE_DECISIONDEL_IDX        on    JBPM_NODE 
(DECISIONDELEGATION);
  | create index JBPM_NODE_SUPERSTATE_IDX         on    JBPM_NODE (SUPERSTATE_);
  | 
  | create index JBPM_PROCDEFN_STARTSTATE_IDX on        JBPM_PROCESSDEFINITION 
(STARTSTATE_);
  | 
  | create index JBPM_PROCINST_PROCDEFN_IDX       on    JBPM_PROCESSINSTANCE 
(PROCESSDEFINITION_);
  | create index JBPM_PROCINST_ROOTTOKEN_IDX  on        JBPM_PROCESSINSTANCE 
(ROOTTOKEN_);
  | create index JBPM_PROCINST_SUPERTOKEN_IDX on        JBPM_PROCESSINSTANCE 
(SUPERPROCESSTOKEN_);
  | 
  | create index JBPM_RTACTION_PROCINST_IDX       on    JBPM_RUNTIMEACTION 
(PROCESSINSTANCE_);
  | create index JBPM_RTACTION_ACTION_IDX         on    JBPM_RUNTIMEACTION 
(ACTION_);
  | 
  | create index JBPM_TASK_TASKCTRL_IDX   on    JBPM_TASK (TASKCONTROLLER_);
  | create index JBPM_TASK_ASSIGNDEL_IDX          on    JBPM_TASK 
(ASSIGNMENTDELEGATION_);
  | create index JBPM_TASK_TASKNODE_IDX   on    JBPM_TASK (TASKNODE_);
  | create index JBPM_TASK_PROCDEFN_IDX   on    JBPM_TASK (PROCESSDEFINITION_);
  | create index JBPM_TASK_STARTSTATE_IDX         on    JBPM_TASK (STARTSTATE_);
  | create index JBPM_TASK_TASKMGMT_IDX   on    JBPM_TASK (TASKMGMTDEFINITION_);
  | create index JBPM_TASK_SWIMLANE_IDX   on    JBPM_TASK (SWIMLANE_);
  | 
  | create index JBPM_TACTRPOOL_POOLACTR_IDX  on        JBPM_TASKACTORPOOL 
(POOLEDACTOR_);
  | create index JBPM_TACTRPOOL_TASKINST_IDX  on        JBPM_TASKACTORPOOL 
(TASKINSTANCE_);
  | 
  | create index JBPM_TASKCTRL_TSKCNTDEL_IDX  on        JBPM_TASKCONTROLLER 
(TASKCONTROLLERDELEGATION_);
  | 
  | create index JBPM_TASKINST_TASKMGMT_IDX       on    JBPM_TASKINSTANCE 
(TASKMGMTINSTANCE_);
  | create index JBPM_TASKINST_TOKEN_IDX          on    JBPM_TASKINSTANCE 
(TOKEN_);
  | create index JBPM_TASKINST_SWIMINST_IDX       on    JBPM_TASKINSTANCE 
(SWIMLANINSTANCE_);
  | create index JBPM_TASKINST_TASK_IDX   on    JBPM_TASKINSTANCE (TASK_);
  | 
  | create index JBPM_TIMER_TOKEN_IDX     on    JBPM_TIMER (TOKEN_);
  | create index JBPM_TIMER_PROCINST_IDX          on    JBPM_TIMER 
(PROCESSINSTANCE_);
  | create index JBPM_TIMER_ACTION_IDX on               JBPM_TIMER (ACTION_);
  | create index JBPM_TIMER_TASKINST_IDX          on    JBPM_TIMER 
(TASKINSTANCE_);
  | 
  | create index JBPM_TOKEN_PARENT_IDX    on    JBPM_TOKEN (PARENT_);
  | create index JBPM_TOKEN_NODE_IDX      on    JBPM_TOKEN (NODE_);
  | create index JBPM_TOKEN_PROCINST_IDX          on    JBPM_TOKEN 
(PROCESSINSTANCE_);
  | create index JBPM_TOKEN_SUBPROCINST_IDX       on    JBPM_TOKEN 
(SUBPROCESSINSTANCE_);
  | 
  | create index JBPM_TOKVARMAP_CNTXINST_IDX  on        JBPM_TOKENVARIABLEMAP 
(CONTEXTINSTANCE_);
  | create index JBPM_TOKVARMAP_TOKEN_IDX         on    JBPM_TOKENVARIABLEMAP 
(TOKEN_);
  | 
  | create index JBPM_TRANSITION_NODETO_IDX       on    JBPM_TRANSITION (TO_);
  | create index JBPM_TRANSITION_PROCDEFN_IDX on        JBPM_TRANSITION 
(PROCESSDEFINITION_);
  | create index JBPM_TRANSITION_NODEFROM_IDX on        JBPM_TRANSITION (FROM_);
  | 
  | create index JBPM_VARACC_TASKCTRL_IDX         on    JBPM_VARIABLEACCESS 
(TASKCONTROLLER_);
  | create index JBPM_VARACC_SCRIPT_IDX   on    JBPM_VARIABLEACCESS (SCRIPT_);
  | create index JBPM_VARACC_PROCSTATE_IDX        on    JBPM_VARIABLEACCESS 
(PROCESSSTATE_);
  | 
  | create index JBPM_VARINST_TOKEN_IDX   on    JBPM_VARIABLEINSTANCE (TOKEN_);
  | create index JBPM_VARINST_TOKVARMAP_IDX       on    JBPM_VARIABLEINSTANCE 
(TOKENVARIABLEMAP_);
  | create index JBPM_VARINST_PROCINST_IDX        on    JBPM_VARIABLEINSTANCE 
(PROCESSINSTANCE_);
  | create index JBPM_VARINST_TASKINST_IDX        on    JBPM_VARIABLEINSTANCE 
(TASKINSTANCE_);
  | create index JBPM_VARINST_BYTEVALUE_IDX       on    JBPM_VARIABLEINSTANCE 
(BYTEARRAYVALUE_);
  | commit;
  | 

anonymous wrote : DBMS have tools to identify some low level issues like 
partially corrupt tables etc, but I get the impression that is not what you 
mean. 
We've enslaved -- I mean, enlisted our DBA's to do this for us, I was hoping 
for something that worked at a higher level.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4250250#4250250

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4250250
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to