Mam kwerendy, które znajdują się w wielu metod każdy (kwerendy), które mogą zawierać wiele parametrów. Próbuję zmniejszyć rozmiar pliku i liczbę linii, aby było łatwiejsze w utrzymaniu. Poniżej jest takie zdarzenie:Jak sprawić, by wiele zapytań do bazy danych było bardziej wydajnych w Perlu?
$sql_update = qq { UPDATE database.table
SET column = 'UPDATE!'
WHERE id = ?
};
$sth_update = $dbh->prepare($sql_update);
if ($dbh->err) {
my $error = "Could not prepare statement. Error: ". $dbh->errstr ." Exiting at line " . __LINE__;
print "$error\n";
die;
}
$sth_rnupdate->execute($parameter);
if ($dbh->err) {
my $error = "Could not execute statement. Error: ". $dbh->errstr ." Exiting at line " . __LINE__;
print "$error\n";
die;
}
Jest to tylko jeden z przykładów, jednak istnieje wiele innych wybranych przykładów, które zawierają tylko jeden parametr, które mają być przekazane w, jednak istnieje również niektóre z dwóch lub większej liczby parametrów. Sądzę, że po prostu zastanawiam się, czy możliwe jest zamknięcie tego wszystkiego w funkcji/metodzie, przekazanie tablicy parametrów, w jaki sposób parametry zostaną wprowadzone do funkcji execute()?
Gdyby było to możliwe, mógłbym napisać metodę, która po prostu przekazuje zapytanie SQL i parametry i zwraca odnośnik do pobranych rekordów. Czy to w ogóle brzmi bezpiecznie?
Brzmi bardzo korzystnie. Czy moduł Class :: DBI ma rdzeń perl? (dla unix) –
Nie. Będziesz musiał go zainstalować. Wpisanie "install Class :: DBI" i odpowiedź "y" na wszystkie zależności wewnątrz powłoki CPAN zainstaluje ją dla ciebie. –