Documente Academic
Documente Profesional
Documente Cultură
Performance Tuning of demantra can be broadly divided into 2 groups listed below.
1. Tuning the Oracle database.
2. Tuning the Demantra applications
PL/SQL procedures to gather the statistics of a table, schema or entire database. This package
has an estimate percentage which can be used to specify the sampling percentage of the rows
that need to be sampled while gathering the statistics.
exec dbms_stats.gather_table_stats(null, 'TABLEX', estimate_percent => 10);
In the example given the estimate percentage has been specified as 10% which can be changed
as required.
1.4 Partitioning
Demantra has few tables that can grow very large in size. This significantly impacts the
performance of the worksheets whereby worksheets take a long time to open. This is
accompanied by huge I/O as the data is searched in the entire table rather than a particular
subset of data. To reduce this problem Oracle has come out with partitioning option. SQL
queries and DML statements need not be modified to query data from partitioned tables.
Partitioning can provide tremendous benefits to a wide range of applications by improving the
performance and availability.
Range and list partitioning are the best suited for partitioning large tables like SALES_DATA in
demantra.
1.7 Fragmentation
Fragmentation of major objects is one of the major issues facing the demantra databases. In
order to reduce fragmentation rebuild the data table. While rebuilding the data table reorder
the columns so that the highly populated columns are at the beginning of the table and columns
with no data at the end of the table.
1.8 Parallelism
Run the worksheets utilizing multiple CPUs in parallel. This will effectively use the CPUs and
help in faster response times. Generally indexes of major tables like MDP_MATRIX,SALES_DATA
should be set to a degree of 1 as this will avoid any unexpected CBO behavior. For major tables
like SALES_DATA and MDP_MATRIX set the parallel degree to 8 or more so that similar number
of processes execute the query.
b. threadpool.query_run.per_user specifies the amount of threads that a single user can use to
query the data. Can be set to a value between 4 to 12.
c. Import BlockSize which specifies the maximum size of the copy paste thread pool. This
needs to be ideally set to a value between 5000 to 10000
d. MaxDBConnections parameter specifies the maximum number of simultaneous database
connections which can be set from 100 to 200.
e. worksheet.data.comb.block_size controls the blocksize used for worksheet data retrieval
f. worksheet.full.load is set to 1 when using crosstab worksheets.
g. client.worksheet.calcSummaryExpression specifies whether summary line client expressions
are supported. If set to true i.e. 0 then simple expressions are supported.