AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 08:02

Parameter dieser Suchanfrage:

Suche in Thema: ORDER in Unterselect sehr langsam
Suche alle Beiträge, die von "Gruber_Hans_12345" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 19 von insges. 19 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 15. Okt 2009
    ok, die von delphianer, läuft nun auch mit 200ms (wobei die 200ms und 60ms wahrscheinlich ca gleich sind .... )
    Die Daten sind auch richtig, es werden mit dem INNER JOIN halt die NULL ausgeblendet.

    Die Daten von webcss, sind aber definitiv falsch, da hier ja nur der MAX(AUFTRAGID) gelifert wird, und das ist ja nicht gewünscht

    Übrigens ein sehr interessanter Ansatz das bei delphianer -...
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 15. Okt 2009
    Ja gerne, also die "Sieger" Lösung bracuht für die Abfrage 60ms
    Deine braucht 2.171 sekunden, allerdings liefert es auch falsche Auftragsdaten als ergebnis ....
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 15. Okt 2009
    @webcss: Das würde nur den größten AuftragID leifern und nicht den AuftragID der in dem datensatz mit der größten BUCHUNG steht ....


    ABER :
    Die letzte Stored Procedure läuft nun sehr gut

    Habs nun "auf gut Glück" ins Programm selbst eingebaut

    und brauch nun statt den 3 sekunden keine 1.5 sekunden mehr sondern mit der neuen nur mehr 60 ms
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 15. Okt 2009
    Doch aht es und ist auch der ID

    meinst du wegen dem
    PLAN (PERSONAL NATURAL)
    ?

    Ich vermute mal das ist, weil ich die ganze PERSONAL Tabelle auslese, daher kann bzw brauche ich ja keinen Index in dem Fall oder?
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 15. Okt 2009
    ja, der PLAN schon :
    execute block
    returns (ID INTEGER, MBID INTEGER)
    as
    declare variable ID1 INTEGER;
    begin
    for select ID FROM PERSONAL into :ID
    DO begin
    MBID = null;
    SELECT FIRST 1 TB.AUFTRAGID FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = :ID INTO :mbid;
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 15. Okt 2009
    verstehe nicht, was du meinst?
    funktionieren tut es nun ja, nur in der Personal Edition gibt es leider keine PLAN oder PERFORMANCE Daten, sehe nun nicht ob ich schneller bin oder nicht ...
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 15. Okt 2009
    also hab mir das IBExpert runtergeladen

    da funkt das nun
    execute block
    returns (ID INTEGER, MBID INTEGER)
    as
    declare variable ID1 INTEGER;
    begin
    for select ID FROM PERSONAL into :ID
    DO begin
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 15. Okt 2009
    @hoika

    mach ich dann gleich :)

    oh, stimmt das order by viel weg ...
    das problem bei deiner SQL ist, das er beim WHERE TB.PERSONALID = ID, nicht den ID von den variablen her nimmt, sondern den von TB ...
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 14. Okt 2009
    oh, ja, der client passt nicht zum server, ist ne alte IBConsole ...

    set term #;

    execute block
    returns (ID INTEGER, MBID INTEGER)
    as
    declare variable ID1 INTEGER;
    begin
    for execute statement
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 14. Okt 2009
    hmmm, also bei dem hier, kommen flasche daten raus (er lädt gar nix rein .... )

    SELECT FIRST 1 TB.AUFTRAGID FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = ID INTO MBID;

    und bei dem
    SELECT FIRST 1 TB.AUFTRAGID FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = :ID INTO MBID;
    kommt ein Fehler wegen dem ":"

    Dynamic SQL Error
    SQL error code = -901
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 14. Okt 2009
    @webcss: Das liefert auch die falschen daten

    Ich brauche eine Liste von Personal, und zusätzlich brauche ich zu jedem Personal den Auftrag, den er zuletzt gestempelt hat (die letzte Stempelung ist jene, wo BUCHUNG am größten ist)

    for execute statement
    'select ID FROM PERSONAL' into ID1
    DO begin
    ID = ID1;
    MBID = null;
    SELECT FIRST 1 TB.AUFTRAGID FROM...
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 13. Okt 2009
    Das Problem ist, dieses SQL liefert falsche Daten, bzw andere Daten,

    Ich brauche nicht den größten AuftragID wert sondern den AuftragID Wert von dem datensatz, wo Buchugn am größten ist ...
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 13. Okt 2009
    Habe mal folgendes probiert :

    set term #;

    execute block
    as
    declare variable ID1 INTEGER;
    declare I int = 0;
    begin
    while (i < 100) do
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 13. Okt 2009
    also das
    select p.id
    , (select tb.auftragid from terminal_buchungen tb
    where tb.personalid = p.id and
    tb.buchung = (select max(tbs.buchung) from terminal_buchungen tbs where tbs.personalid = p.id)
    ) as auftragid
    from personal p
    verwendet PLAN (TBS ORDER TERMINAL_BUCHUNGEN_BUCHUNG INDEX (TB_PERSONALID))
    PLAN (TB INDEX (TB_BUCHUNG))
    PLAN (P NATURAL)
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 13. Okt 2009
    Hallo also ich habe mittlerweile auf fast jedes Feld 2 Indexe einen ASC und einen DESC (zum testen)
    Die tabelle hat ja auch mittlerweile schon über 8 Millionen einträge ...

    Das Problem ist ja, eine normales Group bringt nicht die werte die ich brauche, da ich ja
    den Wert AUFTRAGID aus der Tabelle TERMINAL_BUCHUNGEN brauche der am aktuellesten ist (sprich TB.BUCHUNG am ältesten)
    (in der...
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 13. Okt 2009
    Also in eine Zusatztabelle möchte ich es nicht speichern, wird wieder sehr komplex, da pro aufrag mehr als eine person angemeledt sein kann, und eine person wieder auf mehreren aufträgen ....

    Ich hätte auch schon probiert die SELECT in SELECT in eine plain SELECT (also mit Joins umzubauen) aber das bringe ich auch irgendwie nicht zusammen
    Den soviel ich bisher merken konnte hat der Firebird...
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 13. Okt 2009
    Und was gebe ich ihm al sPLAN an, damit er schneller wird?

    bzw. gibt es irgendwoi eine doku, wann FB für einen ORDER einen Index verwendet und wann nicht?!?!?
  • Forum: Datenbanken

    Re: ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 13. Okt 2009
    ja ist

    habe es im ORDER auch mit TB.ID prboiert, das ist der PRIMARY KEY und auch bei dem ist es gleich langsam

    da bekomme ich folgenden PLAN
    PLAN (TB ORDER RDB$PRIMARY87 INDEX (TB_PERSONALID))
    PLAN (P NATURAL)
  • Forum: Datenbanken

    ORDER in Unterselect sehr langsam

      Delphi
      by Gruber_Hans_12345, 13. Okt 2009
    Hallo, ich verwende folgendes Statemant

    SELECT P.ID, (SELECT FIRST 1 TB.AUFTRAGID FROM TERMINAL_BUCHUNGEN TB WHERE TB.PERSONALID = P.ID ORDER BY TB.BUCHUNG DESC) AS AUFTRAGID
    FROM PERSONAL P


    als Plan bekomme ich folgendes raus
    PLAN (TB ORDER TB_BUCHUNG INDEX (TB_PERSONALID))
    PLAN (P NATURAL)


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Gruber_Hans_12345&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=141653
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz