Identifier attribute required on multi-tenant tables

Identifier attribute required on multi-tenant tables

We have a table that is inserted into by the AsynchronousLog action from the AsynchronousLogging extension. So far we have almost 10 million rows in the table (only been live for a few months). This is basically our logging for all interactions with third parties and our record keeping for requests/responses between us and them.

We made the identifier attribute a text data type with a length of 50 and is assigned a manually generated GUID upon insertion. This is to avoid the limitation of the integer data type (since big int is not possible for some reason) and allow us to have over 2 billion rows.

The problem we are running into with this is that inserting into the table is rather slow because as the natural order of the table is the primary key (in this case a text based GUID) it has to scan the table for where it should insert the row, rather than just at the end of the table if it were to be made a heap.

We were going to remove the identifier attribute from within Outsystems and turn the table into a heap, however the platform is requiring an identifier attribute be selected when it is a multi-tenant table.

My question is why? Has anyone else dealt with this as a work around to the lack of a big int data type for identifiers?
Hi Brian,

As mentioned here,  the big integers are a work in progress (Beta's running at the moment).
i would consider waiting for it before going into workarounds.

João Rosado