Anzeige - [Interessiert an einer Anzeige?]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Viele Auswahfelder in DB schreiben
Suppi
Geschrieben am: Sa 7.06.2008, 22:10
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 123
Mitglied seit: 20.07.2004


Hallo

Hätte mal eine Frage, was sonst tongue.gif

In einem einzigen Formular sind sehr viele Auswahlfelder vorhanden. Wir reden hier von ca. 100 Feldern, es könnten jedoch auch locker 200 und mehr werden. Der Wert der Felder wird natürlich in einer Schleife (PHP) ausgelesen und in die DB gespeichert. Nur bin ich mir nich sicher, welche Methode ich beim updaten verwenden soll. Momentan lösche ich all diese Felder zuerst und schreibe dann alle Werte neu in die DB. Das ist eigentlich am einfachsten.

Nur schellt so die ID (Primärindex) bei jedem absenden des Formulars in die Höhe. Würdet Ihr da so belassen, oder jeden Wert mit dem bereits in der DB gespeicherten Wert vergleichen und dann ein Update machen? Welches ist die schnellere Variante?

Gibts evtl. noch ein 'Trick', um soviele Auswahlfelder auf der Seite schneller zu laden? smile.gif

Danke und Gruss
Suppi


--------------------
Top
PMUsers Website
Top
 
 
connectR
#2 Geschrieben am: Sa 7.06.2008, 22:30 (+00:20)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 76
Mitglied seit: 29.01.2008


Ich muss gestehen:
Ich verstehe nicht ganz, wieso du vorher erst alle Werte löschst und sie dann neu einträgst.

Wenn es sich beispielsweise um 100 Felder hat, dann löschst du erst 100-mal m dann wieder 100-mal neu einzufügen?
Wieso nicht einfach ein REPLACE?

*edit*
Wie speicherst du die Werte eigentlich in der DB?
Alle in einer Reihe oder bekommt jeder Wert immer wieder eine eigene Reihe?


--------------------
Ich bin freiberuflicher Programmierer - Und du?
Have a look at BodyVoten.de - Bilder voten
Top
PMUsers Website
Top
 
Suppi
#3 Geschrieben am: So 8.06.2008, 19:46 (+21:16)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 123
Mitglied seit: 20.07.2004


Das war für mich die einfachste Lösung, alles löschen um dann die Änderungen frisch einzutragen wink.gif. Bis zu Deiner Antwort kannte ich Replace noch nicht... sad.gif Danke connectR, wiedermal was gelernt!

Nur zu meinem Verständnis: Ist es korrekt, dass REPLACE alle Felder mit einem Wert neu in die Datenbank schreibt, egal ob der Datensatz immer noch den selben Wert hat oder nicht?

Jeder Wert eines Auswahlfeldes wird in einem eigenen Datensatz gespeichert, da zum Wert auch das Datum und eine UserID gehört.


--------------------
Top
PMUsers Website
Top
 
connectR
#4 Geschrieben am: So 8.06.2008, 23:26 (+03:39)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 76
Mitglied seit: 29.01.2008


QUOTE

REPLACE funktioniert auf exakt gleiche Weise wie INSERT. Der Unterschied besteht darin, dass, wenn ein alter Datensatz denselben Wert wie ein neuer Datensatz für einen Primärschlüssel oder einen eindeutigen Index hat, der alte Datensatz gelöscht wird, bevor der neue eingefügt wird.


QUOTE

Wenn Sie eine Anweisung suchen, die [...] entweder einfügt oder aktualisiert, dann benutzen Sie die INSERT ... ON DUPLICATE KEY UPDATE-Anweisung


QUOTE

Beachten Sie, dass, sofern die Tabelle nicht einen Primärschlüssel oder einen eindeutigen Index hat, die Verwendung von REPLACE unsinnig ist.


--------------------
Ich bin freiberuflicher Programmierer - Und du?
Have a look at BodyVoten.de - Bilder voten
Top
PMUsers Website
Top
 
TSc
#5 Geschrieben am: Mo 9.06.2008, 07:50 (+08:24)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 596
Mitglied seit: 8.11.2004


Mal eine Frage zum Verständniss:
Warum replace und nicht update?

Dann "schnellt auch der Primärschlüssel" nicht mehr in die Höhe...

Top
PMEmail Poster
Top
 
Maik
power-labels AG
#6 Geschrieben am: Mo 9.06.2008, 08:40 (+00:49)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 476
Mitglied seit: 16.03.2006


Bei hundert Datensätzen würde ich es glaube auch als erstes so machen wie Suppi. Es ist einfach zu programmieren und das Endergebniss ist immerhin das schnellste was möglich ist, sind schließlich nur zwei Queries (DELETE und INSERT) anstatt von 100 UPDATES/REPLACE


--------------------
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/24812

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Calcolo 3.0 - Rechnungen, Angebote, Schreiben, PDF Daniel Cieslar 1564 35 So 24.08.2008, 13:47
blog-beiträge schreiben und backlink erhalten eacos 308 5 Mo 18.08.2008, 14:17
Ein großes oder viele kleine Projekte? MWM-Fachverlag 183 1 So 3.08.2008, 19:35
Viele Notebooks zu verkaufen! webdoktor 368 5 Sa 19.07.2008, 14:19
Neuen Beitrag schreiben Startseite Daniel Cieslar 90 0 Di 8.07.2008, 10:38
Bloger gesucht die Artikel über Projekt schreiben Bertrammarcel 142 0 So 1.06.2008, 19:10
Adsense zu viele Klicks? Hainmd 371 4 Do 17.04.2008, 18:22
- Verkaufe viele gute Domains - realy 366 2 So 17.02.2008, 22:56
Russisch Schreiben G.P. 320 9 Do 29.11.2007, 14:16




Anzeige - [Interessiert an einer Anzeige?]



Anzeigen


[Interessiert an einer Anzeige?]