Ansicht von 2 Beiträgen - 1 bis 2 (von insgesamt 2)
  • Autor
    Beiträge
  • #2321
    Ramin Goettlich
    Teilnehmer

    Hallo,

    ich greife auf Stammdaten in einem bereits existierenden Datenbanksystem zu, das über einen DB-Link mit meiner Datenbank verbunden ist. Es geht um einige Millionen Datensätze…(aber das ist ja eigentlich nicht viel).

    Also habe ich eine View gebaut, die die Daten über den DB-Link selektiert und in eine Form bringt, die Nuclos „versteht“. Leider war die Performance (vermutlich übers Netzwerk) katastrophal, also habe ich die View durch eine materialisierte View ersetzt (CREATE MATERIALIZED VIEW), um die Daten auf meiner Nuclos-DB physikalisch zu haben.

    Leider ist die Performance überraschenderweise immer noch katastrophal (Suchanfrage dauert 10-12sek), als ob die Daten in der View gar nicht materialisiert wären…

    Hat jemand einen Tip für mich?

    Grüsse,
    zuiop

    #2322
    Ramin Goettlich
    Teilnehmer

    Hallo zuiop,

    Nuclos Tabellen anderer Datenbank oder Schemata mittels Views „unterzujubeln“ ist zwar das typische Vorgehen für solche Fälle, aber Nuclos kann sich dann natürlich nicht automatisch um eine entsprechende Indizierung für Performancezwecke kümmern.

    Nuclos kann ja nicht erkennen, ob es sich hier um eine Tabelle, eine View oder eine materialisierte View handelt.

    Daher müssen Sie in solchen Fällen selbst für eine entsprechende Indizierung Sorge tragen.

    Ich würde Ihnen vorschlagen, folgende Indizes für die Materialized View zu definieren:

    a) Einen Index auf dem Schlüsselfeld intid
    b) Functionbased Indizes auf den typischen Suchfeldern

    Bei Oracle geht das z.B. so:

    create index idx_intid ON v_ud_matview(intid);
    create index idx_suchfeld_fb ON v_ud_matview(UPPER(suchfeld));

    Ich hoffe das hilft!
    nuclosian

Ansicht von 2 Beiträgen - 1 bis 2 (von insgesamt 2)