AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MySQL schnell UPDATEN!
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL schnell UPDATEN!

Ein Thema von Ruewue · begonnen am 27. Apr 2010 · letzter Beitrag vom 4. Mai 2010
Antwort Antwort
Seite 2 von 3     12 3      
Ruewue

Registriert seit: 16. Okt 2006
27 Beiträge
 
#11

Re: MySQL schnell UPDATEN!

  Alt 27. Apr 2010, 16:28
Hallo DeddyH, das stimmt so. Ich hole alle 2.2 Mio Daten runter auf den Client. Gehe dann jeden Satz einzeln durch. Ich suche erst einen Bestimmten Wert in Tabelle 1. Ist dieser forhanden, wird in Tabelle 2 weiter gesucht und dann ein neuer Wert berechnet(gebildet) und mit 2 weiteren Werten in Tabelle 1 upgedatet. An SP habe ich auch shcon gedacht, doch ich muß halt einen Wert vergleichen und neu ermitteln. Dies geschieht im Programm in 2 Functionen.

Ich bräuchte also mindestens 2 SP. Eine für den Download und eine fürs Update.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: MySQL schnell UPDATEN!

  Alt 27. Apr 2010, 16:45
Wie wäre es damit, die daten Serverseitig auszuwerten und nur die benötigten an den Client zu senden ( so macht man es normalerweise)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#13

Re: MySQL schnell UPDATEN!

  Alt 27. Apr 2010, 17:11
Zitat von Ruewue:
Hallo DeddyH, das stimmt so. Ich hole alle 2.2 Mio Daten runter auf den Client. Gehe dann jeden Satz einzeln durch. Ich suche erst einen Bestimmten Wert in Tabelle 1.
Das klingt so, als ob Du ein
SELECT * FROM <Tabelle> machst und kein
SELECT * FROM <Tabelle> WHERE <Feld> = <gesuchter Wert> Mit letzterem kannst Du Dir (und der CPU) wahrscheinlich eine Menge Arbeit sparen
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#14

Re: MySQL schnell UPDATEN!

  Alt 27. Apr 2010, 17:26
Zitat von Ruewue:
Ich bräuchte also mindestens 2 SP. Eine für den Download und eine fürs Update.
Du brauchst doch keine SP für den Download (ich wüsste auch gar nicht, wie das gehen soll). Die SP arbeitet die Daten ja serverseitig ab, so dass Du sie am Client überhaupt nicht brauchst.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: MySQL schnell UPDATEN!

  Alt 27. Apr 2010, 17:46
Sonst würde ich noch zu einen Cross-Join-Raten um die Datenmenge noch etwas zu erhöhen
Markus Kinzler
  Mit Zitat antworten Zitat
Ruewue

Registriert seit: 16. Okt 2006
27 Beiträge
 
#16

Re: MySQL schnell UPDATEN!

  Alt 28. Apr 2010, 13:56
Hallo und danke erst Mal.
komme nun erst wieder dazu.

Also ich brauche alle 2.2 Mio. Daten. Es handelt sich um die Neuzuordnung aller je gelaufenen Kollektionen in zwei neue Kategorien. Der Ablöauf sieht wie folgt aus:

SELECT Feld1_1, Feld2_1, Feld3_1, Feld4_1, Feld5_1 FROM Tabelle1

SELECT Feld1_2, Feld2_2 FROM Tabelle2 WHERE Feld3_2=Feld1_1

IF RECORDCOUNT=0 THEN
Vari1='RO'
ELSE
IF Feld1_2 > Feld5_1 THEN
Vari1='PO'
ELSE
Vari1='RO'

UPDATE Tabelle1 SET Feld6_1=Vari1, Feld7_1=Feld1_2, Feld8_1=Feld2_2 WHERE Feld1_1=Fled1_1 AND Feld2_1=Feld2_1 AND Feld3_1=Feld3_1 AND Feld4_1=Feld4_1


Der UPDATE dauert auf Grund der Datenmenge extrem lange.

Danke schon mal Im Voraus
RueWue
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#17

Re: MySQL schnell UPDATEN!

  Alt 28. Apr 2010, 14:06
Nochmal: holst Du immer noch alle Daten zum Client, wertest sie dort aus und schickst die Änderungen zurück zum Server?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: MySQL schnell UPDATEN!

  Alt 28. Apr 2010, 14:09
Der SQL Update Befehl kennt auch ein where
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#19

Re: MySQL schnell UPDATEN!

  Alt 28. Apr 2010, 14:21
Ohne Dir jetzt zu nahe treten zu wollen, aber Du solltest Dir dringend mal die Dokumentation vom MySQL bzw. SQL ansehen. Solche SQL-Statements würde ich höchstens einem Azubi während der ersten 6 Monate seiner Ausbildung durchgehen lassen.

1. Was spricht dagegen, anstatt
SELECT Feld1_1, Feld2_1, Feld3_1, Feld4_1, Feld5_1 FROM Tabelle1 SELECT Feld1_1, Feld2_1, Feld3_1, Feld4_1, Feld5_1 FROM Tabelle1 WHERE Feldx_y = Gesuchter_Wert zu schreiben?

Beim zweiten SQL-Statement
SELECT Feld1_2, Feld2_2 FROM Tabelle2 WHERE Feld3_2=Feld1_1 verwendest Du ja auch eine Where-Klausel, also ist Dir die Existenz dieser Funktionalität ja schon einmal bekannt. Also warum nutzt Du sie nur so sparsam?

2. Sorry, aber Where-Klauseln wie
WHERE Feld1_1=Fled1_1 AND Feld2_1=Feld2_1 AND Feld3_1=Feld3_1 AND Feld4_1=Feld4_1 kann man sich auch komplett weglassen. Das ist das selbe, als ob Du WHERE 1=1 AND 2=2 AND 3=3 AND 4=4 schreibst.
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Ruewue

Registriert seit: 16. Okt 2006
27 Beiträge
 
#20

Re: MySQL schnell UPDATEN!

  Alt 28. Apr 2010, 14:24
@DeddyH: Ja ich hole immer noch alle 2.2 Mios runter auf den Client.

@mkinzler: Ich habe in meinem UPDATE ein WHERE


Gruß
Ruewue
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

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