Hello, Nikolay!
You wrote to All on Tue, 16 May 2006 10:11:29 +0300:

Да, таблица objects - большая, млн около 300 записей.
А если сделать пустую базу, то все очень даже быстро - 120мск
Здесь я совсем теряюсь - какое влияние на подготовку запроса
может оказывать размер БД?!?



SET SQL DIALECT 3;

SET NAMES NONE;

CREATE GENERATOR GEN_OBJECTS_ID;

CREATE TABLE OBJECTS (
   ID_OBJ  BIGINT NOT NULL,
   P_1     INTEGER,
   P_2     INTEGER,
   P_3     INTEGER,
   P_4     INTEGER,
   P_5     INTEGER,
   P_6     INTEGER,
   P_7     INTEGER,
   P_8     INTEGER,
   P_9     TIMESTAMP,
   P_10    VARCHAR(50)
);




ALTER TABLE OBJECTS ADD CONSTRAINT PK_OBJECTS PRIMARY KEY (ID_OBJ);

CREATE INDEX OBJECTS_IDX1 ON OBJECTS (P_10);
ALTER INDEX OBJECTS_IDX1 INACTIVE;
CREATE INDEX OBJECTS_IDX2 ON OBJECTS (P_1);

SET TERM ^ ;


/* Trigger: OBJECTS_BI */
CREATE TRIGGER OBJECTS_BI FOR OBJECTS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
 IF (NEW.ID_OBJ IS NULL) THEN
   NEW.ID_OBJ = GEN_ID(GEN_OBJECTS_ID,1);
END
^


SET TERM ; ^



--
-=Я привык быть пунктуальным, хотя это часто обрекает меня на одиночество=-
With best regards, Nikolay Ponomarenko

Ответить