Firebird SELECT * NAGYON LASSÚ

Firebird SELECT * NAGYON LASSÚ
2013-09-25T09:51:53+02:00
2013-09-25T13:30:20+02:00
2022-11-29T18:50:34+01:00
white420
Sziasztok,
Van egy távoli szerveren lévő adatbázis több táblázattal, sok adattal, benne van egy jelenleg 23 rekordot tartalmazó tábla amit ha lekérdezek SELECT * ESZKOZOK-el valamikor még eredményt sem kapok hanem lefagy a program, a tábla:

CREATE TABLE ESZKOZOK ( ID INTEGER NOT NULL, NEV VARCHAR(50) NOT NULL COLLATE UNICODE_CI, SOROZATSZAM VARCHAR(30), ALLAPOTID INTEGER DEFAULT 0 NOT NULL, TARTOZEKOK VARCHAR(255), MEGJEGYZES VARCHAR(255), AKTIV INTEGER DEFAULT 0 NOT NULL, ZAROLVA INTEGER DEFAULT 0 NOT NULL, /* Keys */ PRIMARY KEY (ID) ); CREATE INDEX ESZKOZOK_INDEX01 ON ESZKOZOK (ID, NEV, SOROZATSZAM, TARTOZEKOK, MEGJEGYZES); SET TERM ^ ; CREATE TRIGGER ESZKOZOK_BI FOR ESZKOZOK ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.ID IS NULL) THEN NEW.ID = GEN_ID(GEN_ESZKOZOK_ID,1); END^

A többi táblázatban sokkal több adat van és bonyolultabb lekérdezéskor is max 1-2 mp alatt visszakapom az eredményt, mi lehet a probléma, már próbálkoztam backup restore-al is de semmi változás.
Mutasd a teljes hozzászólást!
Tippem szerint az index nem szereti a NULL-t valamiért.

ESZKOZOK_INDEX01 ON ESZKOZOK (ID, NEV, SOROZATSZAM, TARTOZEKOK, MEGJEGYZES);

Ha egy ID alapon (unique, remélem) rendezel, akkor miért is van értelme a "NEV, SOROZATSZAM, TARTOZEKOK, MEGJEGYZES" mezőknek az indexben?

Ha ezekre valóban kell rendezettség, akkor azt önálló indexel vagy képes csak kihasználni.


ui:
A régi mániám (megjegyzem pl Joel is ír erről egy jót) a régi technologiák ismerete fontos. Ebben az esetben pl. a rekordkezelők és indexeik használata (legelterhedtebb pl. dBase, Clipper, Foxbase; de nekem volt kalandom C-hez néhány egyedi megoldáshoz vagy az örökbecsű Btrieve-hez is).
Ott megtanulhatta az ember, hogy egy indexet akkor hozok létre és olyan tartalommal (mert drága), ha használni is akarom és olyan kulccsal, ami illeszkedik a lekérdezéseimhez. Valamint mekkora kár, ha olyan rendezettségre lenne szükség, amit nem indexeltem le. Az indexelési terv és a rendszerterv kapcsolatát igencsak jól meg lehetett tanulni velük.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd