powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите откоректировать БД
7 сообщений из 7, страница 1 из 1
Помогите откоректировать БД
    #32922394
Macclaud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот существут такая таблица созданая ISA-сервером
автор
CREATE TABLE FirewallLog (
[servername] nvarchar(128),
[logDate] datetime,
[logTime] datetime,
[protocol] varchar(32),
[Source] varchar(32),
[Destination] varchar(32),
[OriginalClientIP] varchar(32),
[SourceNetwork] nvarchar(128),
[DestinationNetwork] nvarchar(128),
[Action] varchar(32),
[resultcode] int,
[rule] nvarchar(128),
[ApplicationProtocol] nvarchar(128),
[Bidirectional] varchar(5),
[bytessent] FLOAT,
[bytessentDelta] FLOAT,
[bytesrecvd] FLOAT,
[bytesrecvdDelta] FLOAT,
[connectiontime] int,
[connectiontimeDelta] int,
[SourceProxy] varchar(32),
[DestinationProxy] varchar(32),
[SourceName] varchar(255),
[DestinationName] varchar(255),
[ClientUserName] varchar(514),
[ClientAgent] varchar(255),
[sessionid] int,
[connectionid] int,
[Interface] varchar(25),
[IPHeader] varchar(255),
[Payload] varchar(255)
)

CREATE INDEX [IX_FirewallLog_Date] ON [FirewallLog]([logDate]) ON [PRIMARY]
GO

CREATE INDEX [IX_FirewallLog_DateTime] ON [FirewallLog]([logDate], [logTime]) ON [PRIMARY]
GO



Проблема возникет после токо как таблица заполняестя 15+ дней....а проблема в том что запрос может выполнятся около 5 а то и 7 часов...

помогите оптимизироать индексы чтобы ускорить доступ к данным )

p.s:последний запрос выполнялся целую ночь.
...
Рейтинг: 0 / 0
Помогите откоректировать БД
    #32922432
Alexander Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где текст запроса?
...
Рейтинг: 0 / 0
Помогите откоректировать БД
    #32922437
Alexander Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще сначала можно посмотреть что советует index tuning wizard.
...
Рейтинг: 0 / 0
Помогите откоректировать БД
    #32922552
Macclaud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да запрос может быть разным..дело в том что с каждым днем время ответа запроса увеличивается.....оочень сильно
...
Рейтинг: 0 / 0
Помогите откоректировать БД
    #32922631
Macclaud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander PopovИ вообще сначала можно посмотреть что советует index tuning wizard.
не чего не советует.. (
запускаю визард , вибираю базу данных.... жму некст....просит выбрать таблицу....выбираю....а он грит
авторCannot open a teble that does not exist
...
Рейтинг: 0 / 0
Помогите откоректировать БД
    #32925015
Denis A.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Записи в таблице слишком тяжелые.
Во-первых - добавь поле ID типа int not null identity primary key
во-вторых - повесь триггер на insert, update типа

Код: plaintext
1.
2.
3.
4.
5.
6.
update FirewallLog
set
  ServerName = rtrim(ServerName),
  Source = rtrim(source),
   ...
where ID in (select ID from inserted)

в-третьих - не плохо бы использловать эту таблицу тлько для вставки, например каждую минуту из неё записи выдергивать, агрегировать и удалять из неё обработанные записи.

У меня из агрегированных данных (WebProxyLog) отчеты считаются 2-3 секунды за любой период.
...
Рейтинг: 0 / 0
Помогите откоректировать БД
    #32925034
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Основные аггрегирования в отчетах по логам ISA идут по
дате и имени пользователя.

Кластерный индекс
(LogDate, LogTime, ClientUserName)
спасет отца русской демократии.

Но в любом случае, если ты захочешь прожевать ВСЮ таблицу - тормоза неизбежны.
Достаточно посмотреть на объем лога.

Один из выходов:

Расчет данных по мере поступления и хранение аггрегированных данных.

Например:
1) Считаешь текущие данные (ночь) и запоминаешь по какое LogDate, LogTime сосчитал как LogDateX, LogTimeX в доп. таблице.

2) Потом периодически досчитываешь после LogDateX, LogTimeX, запоминая по какое LogDate, LogTime сосчитал как LogDateX, LogTimeX.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите откоректировать БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]