# WorkflowGen performance improvement for Oracle database

**URL:** <https://discuss.workflowgen.com/t/workflowgen-performance-improvement-for-oracle-database/412>\
**Category:** Performance\
**Created:** [March 14, 2013, 7:42am UTC](https://discuss.workflowgen.com/t/workflowgen-performance-improvement-for-oracle-database/412 "2013-03-14T07:42:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![wfg-admin](https://yyz2.discourse-cdn.com/flex030/user_avatar/discuss.workflowgen.com/wfg-admin/32/714_2.png) [@wfg-admin](https://discuss.workflowgen.com/u/wfg-admin)\
**Post date:** [March 14, 2013, 7:42am UTC](https://discuss.workflowgen.com/t/workflowgen-performance-improvement-for-oracle-database/412/1 "2013-03-14T07:42:33Z")

</div>

**Note:** Oracle database is no longer supported as of WorkflowGen version 7.16.0. We recommend migrating to MS SQL Server 2017 or later.

### Background

The `System.Data.OracleClient` provider used by WorkflowGen generates SQL instructions against some system tables (`all_synonyms`, `all_cons_columns`, and `all_constraints`). When those tables contains a lot of records (e.g. when WorkflowGen database shares the same Oracle instance with other databases) the performance is affected when launching a new request/action or completing a request/action.

To minimize the impact, the solution is to redirect all these SQL instructions to a local scope views/tables which are filtered copies of these system tables. These changes are transparent to WorkflowGen.

If you are experiencing response time issue when launching a new request/action then we highly suggest to apply this solution to your WorkflowGen database running on Oracle.

### Procedure

1. Replace `WFGEN_USER` with your owner’s name in the following SQL instructions:

2. Run them against your WorkflowGen database.

### Note

Before each WorkflowGen version upgrade, we suggest dropping these views/tables from your database then recreate them after completing the upgrade procedure.

If the database owner (e.g. `WFGEN_USER`) has other tables used by other applications, you can still apply this procedure if those tables don’t use Synonyms.
