Optimization



Functionality

After

Before

Result of changes

Queries.

New feature: the query language now has optimized calculations of expressions being virtual table parameters. This optimization is similar to optimization of standard query language expressions. This change is not implemented in version 8.3.14 compatibility mode.

The query language did not have optimized calculations of expressions being virtual table parameters.

Eliminated unexpected system behavior.

Linux.

Optimized use of RAM on Linux.

RAM was used less effectively on Linux.

Decreased RAM fragmentation and, as a result, decreased the amount of used RAM on Linux. Slightly improved application performance.

Queries.
Server clusters.

Optimized execution of a query containing constant values in the selection list. Constant values from the query body are implemented by query parameters. This reduces the amount of plan recompilation in DBMS and, as a result, improves performance of the same queries if only their constant value is different.

This feature was not provided.

Constant values were not used by parameters and were used directly in the query body.

Execution time of queries containing constant values is reduced in some cases. In particular, recalculation of register totals can take less time in client/server mode.

Managed locks.

Improved performance of the managed lock manager upon transaction completion if there are a lot of transactions that locked the key range of one space.

The managed lock manager spent more time on transaction completion if there were a lot of transactions that locked the key range of one space.

Parallel operation is improved in case of similar load generated by numerous sessions.

Configuration comparison and merging.

Optimized comparison/merge of configurations.

Comparison and merge of configurations took more time.

Comparison and merge of configurations is now faster.

Queries.

If the query text contains a condition with two constant expressions and each expression is not a string, the condition will be replaced with an expression result before passing the query to DBMS.

Conditions which consisted of constant expressions were not simplified.

In some cases, query performance is improved.

Binary data.

Buffers used with objects of the FileStream type are reset only if the FileStream.ResetBuffers() method is executed explicitly.

Buffers used with objects of the FileStream type were reset:

  • Upon executing the FileStream.ResetBuffers() method explicitly.
  • Upon calling the FileStream.Close() method.
  • Upon deleting the FileStream object.

Decreased load on a disk drive upon intensive operations with the FileStream type objects.

Data composition system.

Improved performance of the Value() function of the data composition system expression language.

The Value() function of the data composition system expression language worked more slowly.

Improved performance of the Value() function of the data composition system expression language.

DBMS operations.
Queries.

Upon query execution, faster creation of a temporary table from a value table passed as a query parameter is available now.

Upon query execution, creation of a temporary table from a value table passed as a query parameter took longer time.

Upgrade: faster creation of a temporary table based on a value table using the query language.

Client application installation.
System requirements.

Removed Microsoft VC++ Runtime Redistributable Package from thin client distribution package (for Windows).

Microsoft VC++ Runtime Redistributable Package was inside thin client distribution package (for Windows).

Reduced thin client distribution package for Windows.

System requirements.

Removed Microsoft Windows Installer 3.0 Package from platform distribution package (for Windows).

Microsoft Windows Installer 3.0 Package was inside platform distribution package (for Windows).

Reduced platform distribution package for Windows.

Data composition system.

Composer of data composition system template considers to be used only those fields that are used in the conditional appearance item of data composition only when this conditional appearance item is applied at least to one of the displayed fields (also upon applying conditional appearance to all fields). If conditional appearance item is not applied to any field, used fields are considered to be unused and are not added to the resulting query of the data composition template. Fields, which are not used in conditional appearance, are not added to the data acquisition query. This change is not implemented in version 8.3.14 compatibility mode.

Composer of data composition system template considered to be used all fields in conditional appearance item even if this conditional appearance item was not applied to any field. All fields, which were formally used in conditional appearance, were added to the data acquisition query.

Improved generation of the query of data composition system data acquisition.

Queries.

If a query with merges contains a false condition, the part of the merge with the false condition is not passed to DBMS. False conditions are detected only for Number or enumeration data type. Upon merge optimization, the platform can, if necessary, add a requirement for obtaining different records to the resulting query. This change is not implemented in version 8.3.14 compatibility mode.

This feature was not provided.

In some cases, query time will be decreased.

Server clusters.

Improved client connection transfer to a new working process upon automatic restart of the working process.

Client connection transfer to a new working process upon automatic restart of the working process took more time.

Transfer of existing sessions to a new working process now takes less time. Decreased (or totally eliminated) client application delay upon transfer. Significantly improved client application operation in interactive mode in this case.

Accounting registers.

Improved performance of virtual tables of the accounting register, updated totals upon writing register records, and recalculated accounting register totals. Increased stored data volume and slightly increased record set storage time. To make accounting register performance increase noticeable, disable the compatibility mode. Accounting registers will be restructured. If infobase size exceeds 10 GB, it is recommended that you use optimized tool of database configuration update for restructuring. This change is not implemented in version 8.3.14 compatibility mode.

Operations with virtual tables of accounting register, update of totals upon writing register records, and recalculation of accounting register totals took more time.

Data acquisition from accounting registers is faster now.

Accounting registers.
Queries.

Improved query to accounting register if the query contains a condition of including the recorder in a list generated under a subquery: Recorder IN (subquery). This change is not implemented in version 8.3.14 compatibility mode.

Query to accounting register if the query contains a condition of including the recorder in a list generated under a subquery: Recorder IN (subquery), poor performance.

Improved data acquisition from the accounting register in some cases.

Queries.

If you execute a query in the infobase file mode with data from two tables and these tables are connected with an internal connection and there are indexes of link fields in both tables, then the first iteration is performed for the table with less records.

Number of records in tables was not analyzed upon executing a query in the infobase file mode with data from two tables and these tables were connected with an internal connection and there were indexes of link fields in both tables.

In some cases, improved query performance in the infobase file mode.

Data composition system.

Improved generation of data composition system template if a data composition schema query contains a lot of unions (400 or more unions).

Generation of data composition system template took a significant amount of time if a data composition schema query contained a lot of unions (400 or more unions).

Improved performance of the data composition system if there are a lot of unions in a data composition schema query.

Server clusters.
DBMS operations.

Upgrade for PostgreSQL DBMS: better posting of large documents in the accounting register and improved RecordsWithExtDimensions virtual table.

Posting of large documents in the accounting register and operations with the RecordsWithExtDimensions virtual table took more time if PostgreSQL DBMS was used.

Optimized use of the accounting register if PostgreSQL DBMS is used.


Next page: Changes that affect system behavior