As we know that Identity and Sequence both are used to generated the sequence number so generally, we are using the Identity instead of sequence. For the small table we are not seeing anything using both in terms of performance also. But our question remains same that when we should we need to use the Sequence.
Sequence is reusable across
multiple tables, identity is not. In enterprise systems like billing, invoice,
or order management, we often need the same number series for multiple tables
like OrderMaster, OrderAudit, and History tables. Sequence makes this super
easy.
Sequence can generate numbers before
insert. This is extremely important in banking and financial applications mainly
when we are reading data from Kafka consumer where the transaction number must
be generated first and then processed.
Sequence supports custom start
value, increment, min, max, cache and even cycling. Identity is very limited in
comparison. Sequence performs better in high concurrency environments because
of caching. So, when millions of rows are getting inserted, sequence is faster
and more reliable. Sequence is not tied to a table. we can use it inside Stored
Procedures, Functions, Default Constraints, and even across databases.
Finally, we can say that we can use IDENTITY for a simple
application. But for enterprise applications, financial systems, and
high-performance workloads always we choose SEQUENCE.
No comments:
Post a Comment
If you have any doubt, please let me know.