I am working on a project where there is a need to increase the storage available for surrogate key to accomodate for more keys due to business growth.
Currently its defined as integer and proposed solution is to change data type of the field to decimal(18,0).
I feel biginteger would be ideal rather decimal. Semantically, surrogate keys are generated synthetic numbers and why would decimal be recommended.
What would be the perfomance implications and how are the data types represented internally by the system?.