Datenbanken

Datenbanken

Posts 1-10 of 20
  • Marvin Schröder
    Marvin Schröder    Group moderator
    The company name is only visible to registered members.
    SELECT einem UPDATE vorziehen?
    Hallo zusammen,

    ich habe mal eine Performance-Frage: Wenn ich ein UPDATE durch ein SELECT vermeiden könnte, sollte ich dieses tun? - Das UPDATE kann ins leere laufen, also es wird nichts geupdated weil das WHERE-Statement "nicht stimmt" oder aber auch wirklich Daten aktualisieren.

    Das SELECT wäre in diesem Fall ein Feld aus einer Tabelle, das mit Hilfe eines indizierten WHERE-Statements lediglich einen spezifischen Datensatz abfragt (also keine JOINS oder ähnliches).

    Das SELECT wird dann mittels Script ausgewertet und wenn wirklich geupdated werden muss, dann kommt das UPDATE hinterher.

    Vielen Dank für Eure Hilfe!

    Sonnige Grüße,
    Marvin
    This post was modified on 10 Jul 2008 at 02:01 pm.
  • Robert Wozniak
    Robert Wozniak    Premium Member
    The company name is only visible to registered members.
    Re: SELECT einem UPDATE vorziehen?
    das select ist in meinen augen überflüssig - allerdings sollte man anschliessend prüfen, ob bzw. wieviele datensätze durch das update betroffen sind
  • Marvin Schröder
    Marvin Schröder    Group moderator
    The company name is only visible to registered members.
    Re^2: SELECT einem UPDATE vorziehen?
    Danke für die schnelle Antwort.

    Ich weiss nicht ob es relevant ist, aber das UPDATE bezieht sich ebenfalls auf genau den spezifischen Datensatz der auch im SELECT selektiert werden würde.
  • Robert Wozniak
    Robert Wozniak    Premium Member
    The company name is only visible to registered members.
    Re^3: SELECT einem UPDATE vorziehen?
    davon bin ich ausgegangen, dass die where-clausel identisch ist. sonst würde ein select ja vorher keinen sinn machen ;-)
  • Post visible to registered members
  • Robert Wozniak
    Robert Wozniak    Premium Member
    The company name is only visible to registered members.
    Re^4: SELECT einem UPDATE vorziehen?
    was soll das select denn auch bewirken? es sei denn ich muss wissen ob ich ein insert ODER ein update machen will. nur dann macht es in meinen augen sinn. selbst dann aber kann ich vorher das update machen und bei 0 betroffenen datensätzen ein insert hinterher schieben. es geht, wie so oft um nackte performance - oder?
  • Marvin Schröder
    Marvin Schröder    Group moderator
    The company name is only visible to registered members.
    Re^5: SELECT einem UPDATE vorziehen?
    Korrekt ;)

    Wird eine wahrscheinlich sehr frequentierte Applikation und deswegen die Frage .)
  • Robert Wozniak
    Robert Wozniak    Premium Member
    The company name is only visible to registered members.
  • Post visible to registered members
  • Oliver Heeger
    Oliver Heeger    Premium Member   Group moderator
    The company name is only visible to registered members.
    Re^7: SELECT einem UPDATE vorziehen?
    Hallo Zusammen,

    aus dem MySQL Manual:

    An update statement is optimized like a SELECT query with the additional overhead of a write. [...] Indexes that are not changed do not get updated.

    Demnach kann das SELECT ruhig weglassen werden.

    Gruß, Oliver Heeger