Hallo Leute,
mal eine kurze Frage ..
Meine Abfrage dauert 2 Sekunden
Anzahl Datensätze: 100.000
Maschine: Win8.1 32 bit
HDD: SSD 200GB
RAM: 3,00 GB
CPU: Intel e8400 @ 3.00 GHz
Abfrage: Lokal
Delphi XE4
Die Tabelle:
Code:
/* Table: VERTRAGS_MENUPUNKT, Owner: SYSDBA */
CREATE TABLE "VERTRAGS_MENUPUNKT"
(
"STRUCTURE_NR" INTEGER NOT NULL,
"STRUCTURE_PR" INTEGER,
"OBJECT_ART" INTEGER,
"OBJECT_NAME" CHAR(200) CHARACTER SET ISO8859_1 COLLATE DE_DE,
"OBJECT_TYPE" INTEGER,
"AUTHOR_NAME" CHAR(200) CHARACTER SET ISO8859_1 COLLATE DE_DE,
"AUTHOR_NR" INTEGER,
"PERMISSION" CHAR(200) CHARACTER SET ISO8859_1 COLLATE DE_DE,
"BARCODE_NR" INTEGER,
"SUBDATA_NR" INTEGER,
"ORDER_SEQUENCE_NR_A" INTEGER,
"ORDER_SEQUENCE_NR_B" INTEGER,
"ORDER_SEQUENCE_NR_C" INTEGER,
"DONT_MOVE_AND_DELETE" INTEGER,
CONSTRAINT "PK_VERTRAGS_MENUPUNKT" PRIMARY KEY ("STRUCTURE_NR")
);
/* Index definitions for VERTRAGS_MENUPUNKT */
CREATE INDEX "IDX_VERTRAGS_MENUPUNKT_1" ON "VERTRAGS_MENUPUNKT"("OBJECT_TYPE", "OBJECT_NAME");
SQL Abfrage
Code:
SELECT * FROM VERTRAGS_MENUPUNKT WHERE STRUCTURE_PR = 1 ORDER BY OBJECT_TYPE, OBJECT_NAME
Select * ... ist zwar nicht ideal - aber an dem kanns doch nicht liegen.
Eine typische Anfrage liefert maximal 25 Records als Ergebnis ..
Die Variationen der Abfrage betreffen immer nur: WHERE STRUCTURE_PR = X
Wo kann ich da noch nachbessern ?
Vielen Dank für Infos
Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \