![]() |
Re: MySQL schnell UPDATEN!
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. |
Re: MySQL schnell UPDATEN!
Wie wäre es damit, die daten Serverseitig auszuwerten und nur die benötigten an den Client zu senden ( so macht man es normalerweise)
|
Re: MySQL schnell UPDATEN!
Zitat:
SQL-Code:
machst und kein
SELECT * FROM <Tabelle>
SQL-Code:
Mit letzterem kannst Du Dir (und der CPU) wahrscheinlich eine Menge Arbeit sparen :wink:
SELECT * FROM <Tabelle> WHERE <Feld> = <gesuchter Wert>
|
Re: MySQL schnell UPDATEN!
Zitat:
|
Re: MySQL schnell UPDATEN!
Sonst würde ich noch zu einen Cross-Join-Raten um die Datenmenge noch etwas zu erhöhen :stupid:
|
Re: MySQL schnell UPDATEN!
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 |
Re: MySQL schnell UPDATEN!
Nochmal: holst Du immer noch alle Daten zum Client, wertest sie dort aus und schickst die Änderungen zurück zum Server?
|
Re: MySQL schnell UPDATEN!
Der SQL Update Befehl kennt auch ein where :zwinker:
|
Re: MySQL schnell UPDATEN!
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
SQL-Code:
SELECT Feld1_1, Feld2_1, Feld3_1, Feld4_1, Feld5_1 FROM Tabelle1
SQL-Code:
zu schreiben?
SELECT Feld1_1, Feld2_1, Feld3_1, Feld4_1, Feld5_1 FROM Tabelle1 WHERE Feldx_y = Gesuchter_Wert
Beim zweiten SQL-Statement
SQL-Code:
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?
SELECT Feld1_2, Feld2_2 FROM Tabelle2 WHERE Feld3_2=Feld1_1
2. Sorry, aber Where-Klauseln wie
SQL-Code:
kann man sich auch komplett weglassen. Das ist das selbe, als ob Du
WHERE Feld1_1=Fled1_1 AND Feld2_1=Feld2_1 AND Feld3_1=Feld3_1 AND Feld4_1=Feld4_1
SQL-Code:
schreibst.
WHERE 1=1 AND 2=2 AND 3=3 AND 4=4
|
Re: MySQL schnell UPDATEN!
@DeddyH: Ja ich hole immer noch alle 2.2 Mios runter auf den Client.
@mkinzler: Ich habe in meinem UPDATE ein WHERE Gruß Ruewue |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz