Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11048[/thread]

Namen für Statements

Leser: 1


<< >> 8 Einträge, 1 Seite
Froschpopo
 2007-12-19 19:12
#104051 #104051
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Wie benennt ihr eigentlich Statements und Statementshandles?
mir fallen oft keine Namen ein die mir hinterher noch gefallen. Entweder sind sie zulang oder haben einfache Namen wie $stmt, $sth usw. Dann bekomme ich aber Probleme, wenn in einer Funktion mehrere Namensgleiche Variablen vorkommen.
pktm
 2007-12-19 19:28
#104053 #104053
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ich verpacke Anfragen eigentlich immer so in Methoden, dass ich pro Methode genau 1 Anfrage habe. Da ist die Benennung nicht schwer: $dbh, $sql, $sth, $rv.

Wenn es doch mal mehr werden wird per _suffix dahinter gesetzt, wozu es da ist (was mitunter recht lang werden kann).
http://www.intergastro-service.de (mein erstes CMS :) )
sid burn
 2008-02-09 02:42
#105734 #105734
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Ich habe schon Skripte geschrieben wo ich zu Anfang mehrere SQL Statements Prepared habe. Und die wurden dann eifnach später einfach mehrmals mit execute ausgeführt. Ich habe sie eigentlich genau so genannt wie das was sie auch tun.

z.B.

$insert_address
$update_address
$delete_address

etc.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
moritz
 2008-02-09 11:03
#105737 #105737
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Wenn es zu viele Statements werden, verpacke ich sie in einem Hash, dann hat man sie alle an einem Ort.
ptk
 2008-02-09 11:07
#105738 #105738
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Den Scope klein halten, dann gibt es keine Probleme.
sid burn
 2008-02-10 03:39
#105760 #105760
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
ptk+2008-02-09 10:07:36--
Den Scope klein halten, dann gibt es keine Probleme.

Genau das möchte man aber nicht wenn man mithilfe von prepared Statements die Performance verbessern möchte. ;)

---

Was stattdessen auch sehr nett ist, ist DBIx::Simple als ersatz für DBI. Hat ein etwas schöneres Interface und SQL::Abstract ist ebenfalls Optional verwendar.

Was weiterhin sehr nett ist, ist das DBIx::Simple die prepared Statements intern speichert (Default: max. 16) und man sie bei einer erneurten Abfrage zurück bekommst. Dadurch kann man sich das vorherige preparen sparen (Namen sapren) und man hat trotzdem einen Performance zuwachs.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
ptk
 2008-02-10 16:33
#105768 #105768
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Es gibt doch prepare_cached.
Froschpopo
 2008-03-10 18:11
#106894 #106894
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich hab das jetzt ganz anders gelöst:
Code: (dl )
1
2
3
4
5
6
my $get_username = sub {
my ($stmt, @bind) = $sql->select('tbl', 'username', { id => shift });
return $dbh->selectrow_array($stmt, undef, @bind);
}

print $get_username->($id),"\n";

Auf die Art und Weise kann ich einfache Begrifflichkeiten wie $sth, $stmt, etc. verwenden und verschwende keine Zeit in die benennung von Variablen da ich einfach für jedes Statement (insofern mehrere existieren) einen eigenen Namensraum schaffe.
<< >> 8 Einträge, 1 Seite



View all threads created 2007-12-19 19:12.