我有以下DB连接功能:
function execute_query($select_query) {
$con=mysqli_connect("localhost","root","123","site_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
return false;
}
else{
$result = mysqli_query($con, $select_query);
return $result;
}
}
PHP页面中的以下代码(显示表中的所有数据):
require_once('../lib/common/db_connect.php');
$result= execute_query('SELECT typeID, articleID, articleTitle FROM articles');
问题是加载页面需要花费太多时间(表中只有10行数据不多)。
我试图在当前页面中写入连接:
$con=mysqli_connect("localhost","root","123","site_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
return false;
}
$result= mysqli_query($con, 'SELECT typeID, articleID, articleTitle FROM articles');
而且比它快。
我的问题是,当连接代码在单独的文件上的单独函数中时,为什么不花这么多时间?
require_one比require慢很多。然而,当您只需要几个文件时,这种差异就不会明显,尤其是当您只要求一个文件时。
我的猜测是您的服务器环境出现了问题。您在什么样的系统上运行PHP脚本?可能是/lib存储在另一个硬盘驱动器上。可能是驱动器损坏或存储在远程位置,导致PHP解释器读取速度非常慢。