在我连接到mysql的php脚本中,我必须在同一个脚本中查询2个数据库以获取不同的信息。更具体地说,一个数据库中的传真存档和另一个数据库中的传真用户。mysql php:在mysql数据库之间切换很慢
在我的代码我查询faxusers,然后foreach用户,我查询Faxarchives获取用户的历史。
我可能会做这样的事情:
function getUserarchive($userid) {
$out= "";
$dbname = 'Faxarchive';
$db = mysql_select_db($dbname);
$sql = "select sent, received from faxarchivetable where userid = '" . $userid . "'";
if ($rs = mysql_query($sql) {
while ($row = mysql_fetch_array($rs)) {
$out = $row['sent'] . " " . $row['received'];
}//end while
}//end if query
return ($out);
}//end function
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$dbname = 'Faxusers';
$db = mysql_select_db($dbname);
$sql="select distinct userid from faxuserstable";
if ($rs = mysql_query($sql) {
while ($row = mysql_fetch_array($rs)) {
$out = $row['userid'] . ":" . getuserarchive($row['userid']);
}//end while
}//end if query
我猜每个用户数据库之间的切换导致的缓慢。无论如何,我可以提高处理速度?
在此先感谢。
oops ..忘记在getuserarchive()函数中包含where子句。 – phill 2008-11-21 17:38:20
我不知道mysql可以做子查询..我会试试..谢谢! – phill 2008-11-21 17:40:19