коллеги, подскажите пожалуйста.
Есть таблица:
В этой таблице храняться лимиты по событиям. События - это запросы поступающие с web-сервисов. Когда запросов немного, все ок, но когда их очень много, то начинаются deadlock-и, при этом конкуренция за страницы (Page Lock).
Как можно решить данную проблему?
Есть таблица:
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo.[limits]( [id] [bigint] IDENTITY(-9223372036854775808,1) NOT NULL, [id1] [uniqueidentifier] NULL, [id2] [bigint] NULL, [author_id] [uniqueidentifier] NOT NULL, [quantity] [int] NOT NULL, CONSTRAINT [pk_limits] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO CREATE UNIQUE NONCLUSTERED INDEX [idx_aggregated_PCValue_limits_author_id_PCValue_id] ON [dbo].[limits] ( [author_id] ASC, [id2] ASC ) INCLUDE ( [quantity], [id1]) WHERE ([id2] IS NOT NULL) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] GO CREATE UNIQUE NONCLUSTERED INDEX [idx_aggregated_PCValue_limits_author_id_id1] ON [dbo].[limits] ( [author_id] ASC, [id1] ASC ) INCLUDE ( [quantity], [id2]) WHERE ([id1] IS NOT NULL) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] GO
В этой таблице храняться лимиты по событиям. События - это запросы поступающие с web-сервисов. Когда запросов немного, все ок, но когда их очень много, то начинаются deadlock-и, при этом конкуренция за страницы (Page Lock).
Как можно решить данную проблему?