次のコードを使用してmysqlデータベースに接続しています。
my $dbh = DBI->connect("DBI:mysql:test:localhost", $user, $pass)
or die $DBI::errstr;
my $sqlQuery = $dbh->prepare($query)
or die "Can't prepare $query: $dbh->errstr\n";
my $rv = $sqlQuery->execute
or die "can't execute the query: $sqlQuery->errstr";
while (my @row= $sqlQuery->fetchrow_array()) {
# do something;
}
私の疑問は次のとおりです。アプリケーションが小さなDBと対話するまでは問題ありません。しかし、このアプリケーションをDBサイズが数百GBのライブ環境に移動すると、このコードによってどのようなパフォーマンスの問題が発生する可能性があります。事実上、私が求めているのは、次の行です-
@row= $sqlQuery->fetchrow_array();
Perlはテーブルの内容全体をコピーし、それを変数にダンプしますか?はいの場合、データベースサーバーだけでなくアプリケーションにも重大なパフォーマンスの問題が発生しませんか?