phpbar.de logo

Mailinglisten-Archive

=?iso-8859-1?Q?INSERT_wenn_UPDATE_nicht_m=F6glich?=

INSERT wenn UPDATE nicht möglich

Andre Uhrlaß mysql-de_(at)_lists.bttr.org
Wed, 14 Aug 2002 20:19:01 +0200


Hallo Liste,

ich habe ein meines Erachtens häufig vorkommendes Problem, konnte aber bisher keine Lösung
finden, welche eine angemessene Performance bringt:

Ich habe eine Tabelle in der die Anzahl des Auftretens bestimmter Kombinationen von Werten der  Spalten 1,2,3
abgelegt wird.

z.B.:

ID | Spalte1 | Spalte2 | Spalte3 | Anzahl
----------------------------------------
1        1             1            87         1063
2        1             2            90         45
3        2             1            73         78
4        2             2            112       5698
5        3             1            45         1


Ich bekomme nun jeweils eine Anzahl von z.B. 80 Daten  mit einer Belegung von Spalte 1-3  und muß im entsprechend
Datensatz die Anzahl um 1 erhöhen . Ist der Datensatz nicht vorhanden, muß jedoch ein solcher
erzeugt werden.
Bisher mache ich für jedes Datum ein UPDATE, prüfe den Erfolg mit mysql_affected_rows() und danach eventuell noch
INSERT.
Das ist jedoch viel zu langsam (ca. 15ms je Datum).

REPLACE scheint ja Auszuscheiden, da ich die bestehende Anzahl bei SET nicht benutzen kann.
Also wie kann es gehen ?


Dank im voraus
Andre Uhrlaß



---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive