我正在使用以下代码连接到 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;
}
我的疑问是:直到我的应用程序与小型数据库交互之前都很好。但是,当我将此应用程序移动到数据库大小可能为 100 GB 的实时环境时,此代码会导致哪些性能问题。实际上我要问的是,在线 -
@row= $sqlQuery->fetchrow_array();
Perl 会复制整个表格内容并将其转储到变量中。如果是,它不会对我的应用程序和数据库服务器造成严重的性能问题吗?