Add more options to improve performance
1116
Views
13
Comments
On our RadarOn our Radar
Backend

As a developer or Dba-er, I want to be able to

- change the default sort order of indexcolumns (default true)

- create function based indexes

- specify the index type

- turn on and define table partitioning.

I would like to have the platform to create columns using a column order which normally gives the best performance. (based on mandatory, datatype and length of the attribute)


Agree, fairly certain that there are other ideas out there around this.

J.Ja

Merged this idea with 'Allow Entity Database Table partitioning' (created on 03 Feb 2024 16:43:19 by Hassan Shaddad)

Allow Entity partitioning
developer can partitioning  the entity depend on attribute to enhance the database performance

However there would be one improvement, table partition is very uncommon.

Best regards


Hi Hassan,

That would be nice, we had to implement this several times, to keep performance to an acceptable level. With for example tables per month or per week. 

Regards,

Daniel

Merged this idea with 'Add Table Partitioning and Subpartitioning Option in Entities' (created on 22 Oct 2024 15:44:11 by Daniel Reis)

Currently, creating entities in OutSystems involves defining tables with attributes such as data types, lengths, labels, descriptions, and the configuration of indexes. However, for applications that handle large volumes of data, a critical feature is missing: table partitioning.

I propose that OutSystems implements the option of table partitioning and subpartitioning directly in the entities, natively. Additionally, allowing the creation of global indexes or indexes within the partitions would be a natural extension of this feature.

Partitioning would enable OutSystems developers to divide entity data based on criteria like dates, regions, or any other relevant key, significantly improving application performance in large data scenarios. Subpartitioning would bring even more granularity for more complex scenarios, where greater control over the data is required.

Pros:

  • Improved Performance: Applications with large data volumes would benefit from better query and data manipulation performance.
  • Scalability: Facilitates application scalability as data is split into smaller, more manageable partitions.
  • Data Organization: Improves data management by allowing logical separation by partitions, such as by dates, regions, etc.
  • Global and Local Indexes: The ability to create global indexes or indexes within partitions would bring additional flexibility to query optimization.

Cons:

  • Added Complexity: Developers might face a learning curve when dealing with partitioning and its rules.
  • Configuration Overhead: While it brings performance benefits, setting up and maintaining partitions and indexes can be more labor-intensive.
  • Database Dependency: The feature might depend on the support offered by the underlying database (SQL Server, Oracle, etc.), which could limit its use in certain environments.

Good idea and well described, but I will have to merge it in the one posted on 2017.

Merged this idea with 'Allow the creation of partitioned Entities' (created on 20 Mar 2025 09:56:05 by Nuno Veiga)

Creating tables with partitioning has benefits when it comes to performance, especially when we have a large number of records in a table.

Good idea, but please search the Ideas page first. This idea already exists since 2017. Your's will be merged into it.

Hello everyone, Daniel Reis' explanation is excellent. For example, in a retail company where I want to store daily sales and their products, where I have tables of items sold with millions of records, this would be very important for performance. Is there no provision for this in Outsystems ODC? Or does it already exist?

It does NOT exists in ODC nor in O11