Ang*_*lao 5 php mysql performance
使用PHP连接MySQL是很常见的.最常见的方法是这样的:
$sqlcon=mysql_connect("localhost","user","pw");
mysql_select_db('database');
$sqlcomm=mysql_query("SELECT id FROM bd");
while($row=mysql_fetch_row($sqlcomm))
{
//do something
}
mysql_close($sqlcon);
Run Code Online (Sandbox Code Playgroud)
我认为这是连接MySQL的最快直接方式.但是在项目中,php脚本中会有太多MySQL连接,我们应该使用"mysql_connect("localhost","user","pw")"代码在每个php脚本中连接MySQL.因此,您希望在文件中构建MySQL类或函数来连接MySQL:
function connect( $query )
{
$sqlcon=mysql_connect("localhost","user","pw");
mysql_select_db('database');
$sqlcomm=mysql_query($query);
while($row=mysql_fetch_row($sqlcomm))
{
//do something.
}
mysql_close($sqlcon);
}
Run Code Online (Sandbox Code Playgroud)
然后使用include()连接到您的项目中.
include('connect.php');
$data = connect('SELECT id from db');
Run Code Online (Sandbox Code Playgroud)
好的,这样代码看起来更好.但是使用include()函数会让PHP读取并执行其他php脚本文件,再次对硬盘进行I/O操作,这也会降低性能.
如果网页是100PV/s,php将在第一种方法中读取并执行一个PHP脚本100次/秒,但是在这种方法中读取和执行PHP脚本200次/秒!
我这里只展示一个查询的简单示例.尝试映像高网络多查询环境.
任何人都有其他更好的方法来使MySQL连接更容易和更有效?
您使用一个打开 MySQL 连接的类(用户名/密码/数据库是从某种配置文件继承的),当您查询数据库时 - 它会建立一个连接。这将引导您使用使用某些编程范例等的框架。
另外,您不必担心性能下降,因为您包含了一个文件。这应该是您最不用担心的。操作系统正在执行许多 IO,而不仅仅是硬盘,因此您的 1 个文件包含不会被注意到。
如果您询问是否有更有效的方法可以在不使用 mysql_、mysqli_、odbc 或 PDO 的情况下连接到 MySQL 数据库 - 不,没有。