AGB  ·  Datenschutz  ·  Impressum  







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

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 02:02

Parameter dieser Suchanfrage:

Suche in Thema: Index setzen?
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 11 von insges. 11 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 29. Nov 2016
    Ja stimmt
    Für die zeiten führe ich immer zuerst 1-2 mal die Abfrage aus ohne zu messen und dann nehme ich das mittel aus 3-5 abfragen damit ich Last die durch andere verursacht werden nicht so sehr ins Gewicht fallen.

    Aber schön das ich endlich mal ein Beispiel finde (aus der Praxis), wo ein Index (der zwar für andere Sachen wichtig ist) so richtig kontraproduktiv ist.
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 29. Nov 2016
    Ohhh tatsächlich
    mit dem ORDER BY dauert es nun statt 4,0 sekunden 1,2 sekunden !!!!!

    Wobei das ganze nun für mich irgendwie noch schräger wird!

    Also ohne dem ORDER BY bekomme ich als Plan nun "PLAN (BUCHUNGEN_DATUM ORDER BUCHUNGEN_USERID)" verwendet den Index.
    mit ORDER BY USERID DESC : "PLAN SORT ((BUCHUNGEN_DATUM NATURAL))" - da ich ja keinen DESC Index für USERID habe aber das ganze...
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 28. Nov 2016
    ja stimmt schon
    nur habe ich auch ähnliche Anwendungsfälle, wo ich dann unterschiedliche Buchungen pro User haben möchten
    zB.: generelle die letzte hinzugefügte Buchung
    oder die jüngste Buchung (ID und das Datum müssen nicht übereinstimmen - sprich ich kann jetzt eine Buchung mit einem alten Datum erzeugen) - und je nach Situation ist einmal diese Buchung und einmal die andere Buchung als...
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 28. Nov 2016
    das stimmt schon direkt nicht aber indirekt, es wird halt zyklisch der status der 800 user geladen, und diese dann gruppiert auf abteilungen dargestellt, wobei man mit incrementalsearch dann sehr schnell zum status des einzelnen users kommen kann.
    Da ja auch paar andere infos geladen werden.
    Kann man sicher auch besser machen und anders optimieren, aber eben der extremst große und bis jetzt...
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 25. Nov 2016
    Ah okey danke :D

    Das Problem ist, es wird teils relativ oft ausgeführt also jede Minute sowas ...
    Ich werde es in diesem Fall dann zu dem jeweiligen User die letzte ID speichern, dann gehts natürlich extrem schnell.

    Im Moment verwenden wir noch den 2.5 Firebird einmal als Classic und als SuperServer, aber es tut sich natürlich nicht so viel.
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 25. Nov 2016
    Ja korrekt ich habe eine Tabelle mit 800.000 Buchungen und will nun zu jedem User (sind 800) die letzte Buchung erfahren.

    DISTINCTROW kannte ich gar nicht und weiss auch nicht wie ich das unter firebird verwende ... den eine SELECT DISTINCTROW mag er nicht, da sagt er er kenne das Feld DISTINCTROW nicht.

    und beim DISTINCT Weiss ich nicht wie mir der helfen sollte
    da bekomme ich gerade mal...
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 24. Nov 2016
    ja ich meinte ja, wenn ich im where ein userid < 20 mache, dann gehts schnell, weil auch weniger Datensätze kommen
    wenn ich ein USERID > 0 mach oder > 10 (dann dauerts halt statt 4 sekunden 3.9 sekunden oder so)

    und für das Datum habe ich ja einen DESC index, deswegen geht das reine SELECT MAX(DATUM) ohne gruppieren ja auch sehr sehr schnell... nur eben nicht mehr sobald ich nach dem feld...
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 24. Nov 2016
    Also der Index über beide Felder bringt leider auch nichts (hatte ich auch schon vorher drinnen sowohl ASC als auch DESC)
    das having bringt leider auch nichts, nur ein where würde was bringen, wenn ich dadurch die Datenmenge verringere, aber wenn ich alle user brauche, dann hilft es nichts mehr
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 24. Nov 2016
    ja da gibt es auch einen Index (bzw zwei - einen ASC und einen DESC)

    das sieht man wenn ich folgendes ausführe
    SELECT MAX(DATUM) FROM BUCHUNGEN
    das geht in 1ms und verwendet folgenden Plan


    nur eben sobald ich das kombiniere und gruppiere dann siehts nicht mehr so toll aus
  • Forum: Datenbanken

    AW: Index setzen?

      Delphi
      by Gruber_Hans_12345, 24. Nov 2016
    PLAN (BUCHUNGEN ORDER BUCHUNGEN_USERID)


    wobei BUCHUNGEN_USERID der Index ist.
    mehr steht da nicht
  • Forum: Datenbanken

    Index setzen?

      Delphi
      by Gruber_Hans_12345, 24. Nov 2016
    Ich habe folgendes SQL
    SELECT MAX(DATUM), USERID FROM BUCHUNGEN GROUP BY USERID
    das benötigt ca. 4sekunden bei 800000 Datensätze.

    Habe nun schon alle Indexe gesetzt ASC und DESC für beide Felder - es ändert sich allerdings nichts an der Ausführungsgeschwindigkeit.

    Gibt es da keinerlei Möglichkeiten?


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=190964
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 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