View source | Discuss this page | Page history | Printable version   
Toolbox
Main Page
Upload file
What links here
Recent changes
Help

PDF Books
Add page
Show collection (0 pages)
Collections help

Search

How to configure high volume windows

Warning.png   This document is still a work in progress. It may contain inaccuracies or errors.

Contents

Objective

Grid configuration provides a series of optional settings to be applied in a grid in order to improve its performance when loading, filtering and sorting.

Working with high volume of data we recommend to deactivate sorting and filtering in some/most columns in backend grids.

For the column left which are not deactivated and which are not fast enough, it is necessary to configure the most appropriate option and create an index if the option requires it.

Improve sorting


 CREATE INDEX M_PRODUCT_NAME_ID ON M_PRODUCT (NAME, M_PRODUCT_ID);

Improve filtering

Equals

Grid equals.png
 CREATE INDEX M_PRODUCT_NAME ON M_PRODUCT (NAME);

iEquals

Grid iEquals.png
 CREATE INDEX M_PRODUCT_NAME ON M_PRODUCT (UPPER(NAME));

StartsWith

Grid startswith.png

PostgreSQL

 CREATE INDEX M_PRODUCT_NAME ON M_PRODUCT USING BTREE (NAME varchar_pattern_ops);

Oracle

 CREATE INDEX M_PRODUCT_NAME ON M_PRODUCT (NAME);

iStartsWith

Grid iStartsWith.png

PostgreSQL

 CREATE INDEX M_PRODUCT_NAME ON M_PRODUCT USING BTREE (UPPER(NAME) varchar_pattern_ops);

Oracle

 CREATE INDEX M_PRODUCT_NAME ON M_PRODUCT (UPPER(NAME));

Contains

Bulbgraph.png   This feature is available starting from 3.0PR17Q2. Contains indexes are not supported in Oracle
Grid contains.png
 CREATE INDEX M_PRODUCT_NAME_TRGM ON M_PRODUCT USING GIN (NAME gin_trgm_ops);

iContains

Bulbgraph.png   This feature is available starting from 3.0PR17Q2. iContains indexes are not supported in Oracle
Grid iContains.png
 CREATE INDEX M_PRODUCT_NAME_TRGM ON M_PRODUCT USING GIN (UPPER(NAME) gin_trgm_ops);

Unfiltered Foreign Key Combo

Grid unfiltered.png

Disable Foreign Key Combo

Grid disableforeing.png

Filter on change

Grid filteronchange.png

Threshold to Trigger Filter on Text Field

Grid threshold.png

Lazy filtering

It is interesting to configure it when we have high volumes of data to display in a grid.

If it is set in grid configuration, the grid won't perform a filter and/or a sorting action until the 'Apply Filters' button be pressed. In the same way, the summary functions present in the grid won't be recalculated until this button be pressed.

Gridconfig lazyfiltering.png

Allow Summary Functions

If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available. It is interesting to disable it when we have high volumes of data.

Grid summary.png

Disable linked items

Linked items functionality tries to find any record with a FK linked to current one. This, in some cases, requires many DB queries which, specially with big volumes of data, can be very heavy.

To disable it we have the preference Disable Linked Items Section, when this preference is defined for a window with its value set to Y, the Linked Items section will be disabled for that window. If there is not any window defined in the visibility settings, this section will be disabled for every window in the application.

Pref disablelinked.png

Implicit filter

Some grids, especially those with large data volumes, have preset hidden filters, the so called implicit filters. Typical implicit filters are set to filter out already process transactional documents or documents before a certain date. Implicit filters can be cleared by clicking the funnel icon in the top right of the grid. When a window contains an implicit filter, it is necessary to do a performance testing, to be sure that is not a problem load the window with it.

Retrieved from "http://wiki.openbravo.com/wiki/How_to_configure_high_volume_windows"

This page has been accessed 504 times. This page was last modified on 1 September 2017, at 07:47. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.