# Additional notes

# Performance

A search is initiated every time a dynamic folder is opened. With small databases (<50,000 entries), you do not need to give any consideration to performance, as the SQL server optimizes all problems away here.

As soon as the database becomes larger, though, a badly formed search query will instantly generate a massive load on the database. This will result in lowered performance for all clients. You need to take the following into account:

Is an appropriate index available for the selection criterion? If not, can one be created? If the answer to both of these questions is no, you should probably avoid using dynamic folders. A full table scan can take over a half an hour on a large database.

Does the SQL server use an index at all? Sometimes, the optimizer has a very different idea of how to process the query than the administrator. If the SQL server selects an unfavorable index, it may lead to long response times.

Does the list of search results stay within reasonable limits? If you create a statement that collects all documents filed within a month, this might work on a test system. However, if you want to view 50,000 documents in a single folder on a production system, this will lead to poor results.

# Available columns

The following columns are available in the base data:

Column name Contents
objtype Entry type, top-level folder=1, 2nd level=2… folders=253, document=254
objshort Short name
objidate Filing date in numeric format (number of minutes since Dec. 31, 1899)
objxdate Document date in numeric format
objkind Color
objmask Document type
objuser Document creator
objstatus 0: not deleted, all other values indicate deleted entries
objdeldate Expiration date in numeric format

The objkeys table contains the following entries:

Column name Contents
parentid Internal unique ELO entry number, connected to objid in the objects base table.
okeyno Number of the field, starting with 0. There are a number of hidden fields starting with index field 50.
okeyname Group name of the field. If you want to search independent of document type, use the group name instead of the field number for selection.
okeydata Content of the field
okeyudata Content of the field in uppercase (Oracle databases only)

# Specific to Oracle SQL

There are a number of aspects specific to Oracle SQL databases that you will need to take into account. Otherwise, you will get incomplete search results or syntax errors.

Oracle SQL distinguishes between upper and lowercase letters. If you search for "ELO" and the database contains "Elo", Oracle will not find the entry. The okeyudata field enables you to search in metadata fields.

The repository name must be placed before the table names. Both parts are separated with a period.

# Example

In Oracle SQL databases, you need to enter okeydata ok1 as repository1.okeydata ok1 in the query.

Last updated: August 12, 2024 at 12:49 PM