On 24.09.2008 13:15, Ded wrote:
Alexey Voytsehovich wrote:
втупую 6000 записей.
в каждой записи
код прибора
код типа данных
метка времени
значение
Чтения с Where Код_Прибора= и Код_Типа_Данных= в приложении нужны? Если
отбирается всё всегда по метке, то это просто оверкилл для сервака.
конечно. рисуются тренды отдельно по приборам и по разным типам,
бывают группировки - типа по этим паре приборов эти данные, а по
другим другие.
Тогда блоб не годится. А вот насчёт реструктуризации в "широкую" запись,
содержащую все данные на момент замера полями я бы подумал. При наличии
кол-во полей придется либо делать оч большим, либо динамически менять. проект
все еще развивается и изменяется.
индексов по кодам скорость чтения практически не изменится, а вот
запись-удаление ускорится. Насчёт скорости сборки мусора после удаления
трудно сказать, с 300 индексами на таблице у меня опыта нет. Но я бы
у меня их только 3
CREATE INDEX IDX_MOMDATA1_NEW1 ON MOMDATA(ARDTIMESTAMP);
CREATE DESC INDEX IDX_MOMDATA2_NEW1 ON MOMDATA(ARDTIMESTAMP);
CREATE INDEX IDX_MOMDATA4_NEW1 ON
MOMDATA(DEVID,TYPEDEVICE,CHANNELID,ARDTIMESTAMP);
при ddl
CREATE TABLE MOMDATA(
DEVID Integer, ид прибора
TYPEDEVICE Integer, тип прибора
CHANNELID Integer, тип данных
ARDTIMESTAMP Timestamp, метка времени
DOUBLEVALUE Float значение
);
попробовал, имхо выигрыш от уменьшения количества записей должен быть
заметный.