WSG v5.559 16.03.2007 15:39 1548288 wsg5559.exe 1) Для ускорения поиска по таблице FILELIST (на массивах записей > 25000): - введено новое поле в таблице FILELIST - TEND (DOUBLE), в которое записывается время последнего отсчета в сегменте данных (UNIXTIME); MySQL: MS Access: ========== alter table FILELIST add column TEND DOUBLE NULL; MS SQL: ======= alter table FILELIST add TEND FLOAT NULL; - созданы новые индексы по полю TEND: CREATE INDEX IX_TEND ON FILELIST (TEND); CREATE INDEX IX_TBEGIN_TEND ON FILELIST (STA, CH, TBEGIN, TEND); - для БД, поддерживающих триггеры, созданы индексы на добавление и изменение записей: MySQL: ====== CREATE TRIGGER wsg.update_tend BEFORE update ON filelist FOR EACH ROW set new.tend=new.tbegin+new.tqty; CREATE TRIGGER wsg.insert_tend BEFORE insert ON filelist FOR EACH ROW set new.tend=new.tbegin+new.tqty; MS SQL: ======= CREATE TRIGGER FILELIST_TEND ON wsg.FILELIST FOR INSERT, UPDATE AS UPDATE wsg.FILELIST SET TEND=TBEGIN+TQTY 2) Для ускорения поиска по таблице EVENTLIST создан новый индекс: CREATE INDEX IX_EVENT_STA ON EVENTLIST (STA , TBEGIN); 3) В файл настройки в секцию [DATABASE] добавлен параметр USE_TEND - использовать (1) или нет (0) поле TEND для загрузки данных; 4) В WSG добавлена возможность изменять этот параметр в конфигурации и учитывать его при работе. При учете TEND выражение tbegin+tqty в SQL-запросах заменяется на tend.