День добрый!
Существует база в которой порядка 300 таблиц.
Большинство таблиц такого вида:
Апплицация вносит данные в GUID_Id при помощи NEWSEQUENTIALID ()
Причина историческая, никто толком объяснить не может почему используются GUID
Соответственно практически весь код использует GUID_id для связок между данными.
Для повышения производительности думают отказаться от использования GUID-ов и перейти на использование Local_Id, т.е. прийдетется изменить много кода, тесты и т.п.
Есть какие-то предложения как более-менее эффективно определить разницу и стоит ли вообще этим заниматься?
Спасибо!
Существует база в которой порядка 300 таблиц.
Большинство таблиц такого вида:
CREATE TABLE MyTable ( [Local_Id] [int] IDENTITY(1, 1) NOT NULL ,[GUID_Id] [uniqueidentifier] NOT NULL ,[Col_1] [int] NOT NULL ,[Col_2] [int] NOT NULL ,[Col_3] [int] NOT NULL ,[Col_4] [int] NOT NULL CONSTRAINT [pk_MyTable_c_Local_Id] PRIMARY KEY CLUSTERED ([Local_Id]) ) CREATE NONCLUSTERED INDEX [IX_MyTable_GUID_Id] ON MyTable ([GUID_Id] ASC)
Апплицация вносит данные в GUID_Id при помощи NEWSEQUENTIALID ()
Причина историческая, никто толком объяснить не может почему используются GUID
Соответственно практически весь код использует GUID_id для связок между данными.
Для повышения производительности думают отказаться от использования GUID-ов и перейти на использование Local_Id, т.е. прийдетется изменить много кода, тесты и т.п.
Есть какие-то предложения как более-менее эффективно определить разницу и стоит ли вообще этим заниматься?
Спасибо!