У меня есть таблица SQL Server со следующей структурой:
CREATE TABLE [dbo].[Log](
[LogID] [bigint] IDENTITY(1,1) NOT NULL,
[A] [int] NOT NULL,
[B] [int] NOT NULL,
[C] [int] NOT NULL,
[D] [int] NOT NULL,
[E] [int] NOT NULL,
[Flag1] [bit] NOT NULL,
[Flag2] [bit] NOT NULL,
[Flag3] [bit] NOT NULL,
[Counter] [int] NOT NULL,
[Start] [datetime] NOT NULL,
[End] [datetime] NOT NULL)
Таблица используется для регистрации действий. Столбцы A
- E
представляют внешние ключи, Flag1
- Flag3
указывают определенные состояния журнала, а столбцы Start
и Конец
обозначает начало и конец действия.
В среднем эта таблица обновляется каждые ~ 30 секунд, а обновление составляет ~ 50 вставок / обновлений.
Пользователь может сделать запрос из пользовательского интерфейса и фильтровать данные по любой заданный столбец и все комбинации столбцов и типов столбцов.
Как лучше всего оптимизировать поиск данных для этой таблицы:
A, D, E
], [ A, Start, Завершите
] и т. Д. И создайте для них индексы