Schrift
[thread]3462[/thread]

Bei Abfrage tabellen-spalten zusammenfassen?



<< >> 4 Einträge, 1 Seite
ppm1
 2004-06-05 21:14
#32210 #32210
User since
2003-09-14
142 Artikel
BenutzerIn
[default_avatar]
Hallo

Sollte man bei einer Abfrage durch ein Perl oder Mod-Perl-Skript auf eine MYSQL-Datenbank über das DBI bzw. DBD::MYSQL Modul wenn man von z.B. 2 Tabellen mehrere Spalten braucht nur eine Abfrage schreiben oder 2?

Also:
entweder:

SELECT daten.name,daten.vorname,wert.alter,wert.neu FROM daten,wert WHERE XXXX


oder

SELECT name,vorname FROM daten WHERE xxx
+SELECT alter,neu FROM wert WHERE XXX



Danke.
Strat
 2004-06-05 23:27
#32211 #32211
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
das haengt davon ab, was fuer daten du brauchst; wenn du die daten zusammenknuddeln willst, duerfte fuer sowas die datenbank schneller sein (vor allem bei groesseren Datenmengen und groesseren Abfragen)

[edit]ist so ein bloedsinn; ich meinte eine vereinigung mit where bzw. join[/edit]\n\n

<!--EDIT|Strat|1086475000-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
renee
 2004-06-06 01:41
#32212 #32212
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
gerade bei größeren Datenmengen ist aber die zusammengesetzte Abfrage, wie Du es machst, unter Umständen problematisch, da Du ein Kreuzprodukt der Tabellen erstellst.
Das kannst Du mit einem JOIN umgehen...

Aber generell ist es besser, es über eine Abfrage zu realisieren...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
steffenw
 2004-06-07 00:52
#32213 #32213
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Letztendlich ist es auch immer die Frage, wie viele Statements von der Datenbank verarbeitet werden müssen und vor allem, wie viele Daten von der Datenbank zu Deinem Perl-Script übertragen werden. Denn das dauert einfach. Wenn Du durch einen geeigeneten "join", temporäre Daten verhindern kannst, dann bringt das etwas. Joins von größeren Datenmengen beanspruchen die Datenbank stark.

Wenn Dein 1. Beispiel Daten holt, die nicht viel miteinander zu tun haben, warum dann eine Abfrage? Es müssen dann jede Menge Felder mit <NULL> übertragen werden. Das Netzwerk ist langsamer als Datenbank und PC
$SIG{USER} = sub {love 'Perl' or die};
<< >> 4 Einträge, 1 Seite



View all threads created 2004-06-05 21:14.