凉风有信,秋月无边。
亏我思娇的情绪好比度日如年。

php mysqli 慢

《php mysqli 慢》正文开始,本次阅读大概9分钟。

PHP mysqli 为什么如此慢?

在使用PHP mysqli的时候,很多人会发现它执行起来非常的慢,很多时候我们都需要等待特别久的时间才能得到相应的结果。这究竟是为什么呢?是因为mysqli自身的问题,还是我们写的代码出了问题?

在使用mysqli时,最常见的问题就是查询和数据挖掘的速度过慢。下面我们就来分析一下这个问题:

网络延迟

网络延迟是导致mysqli查询速度过慢的一个主要原因。如果网络速度太慢,或者连接不够稳定的话,那么执行一个查询就需要很长的时间。

//连接mysqli
$connect = mysqli_connect('localhost', 'root', '');
//选择数据库
mysqli_select_db($connect,'dbname');
//设置中文字符集
mysqli_query($connect,'set names utf8');
//查询
$query = mysqli_query($connect,'SELECT*FROM `dept`');
while($row = mysqli_fetch_array($query)) {
//code
}

数据量太大

如果你的数据库表被加载了太多的数据,那么mysqli查询的速度就会变得非常缓慢。如果你需要强制查询的话,那么这个查询可能需要很长时间才能完成。因此,为了避免这个问题,我们需要采用一些策略来减少使用过多的数据。

//连接mysqli
$connect = mysqli_connect('localhost', 'root', '');
//选择数据库
mysqli_select_db($connect,'dbname');
//设置中文字符集
mysqli_query($connect,'set names utf8');
//查询
$query = mysqli_query($connect,'SELECT*FROM `dept` limit 500');
while($row = mysqli_fetch_array($query)) {
//code
}

使用索引

使用索引可以极大地提高mysqli查询的速度。当你在查询数据库时,如果你使用了索引而又没有遇到其他问题,那么你的查询很有可能会很快。

//连接mysqli
$connect = mysqli_connect('localhost', 'root', '');
//选择数据库
mysqli_select_db($connect,'dbname');
//设置中文字符集
mysqli_query($connect,'set names utf8');
//创建索引
mysqli_query($connect,'CREATE INDEX username_index ON userinfo(`username`)');
//查询
$query = mysqli_query($connect,'SELECT*FROM `userinfo` where username="xxx"');
while($row = mysqli_fetch_array($query)) {
//code
}

使用预处理语句

在很多情况下,为了保证mysqli查询的速度可以尽可能地快,我们需要使用预处理语句。如果你将一个查询语句转换为预处理语句,那么每次查询时,你就可以使用一个参数来替代你的查询语句中的某个变量。

//连接mysqli
$connect = mysqli_connect('localhost', 'root', '');
//选择数据库
mysqli_select_db($connect,'dbname');
//设置中文字符集
mysqli_query($connect,'set names utf8');
//使用预处理语句
$stmt = mysqli_prepare($connect,'SELECT*FROM `userinfo` where username=?');
mysqli_stmt_bind_param($stmt,'s',$username);
$username = 'xxx';
mysqli_stmt_execute($stmt);
//获取结果集
mysqli_stmt_store_result($stmt);
$num = mysqli_stmt_num_rows($stmt);

总结

通过以上的介绍,我们可以得出一个结论,每一个mysqli查询问题都有一个相应的解决方法。如果你希望你的查询速度可以更快,那么你就需要对每一个具体的问题进行彻底的分析。

虽然mysqli查询的速度可能会非常缓慢,但是我们可以通过一些方法来尽可能地优化mysqli。如果你仍然感觉mysqli非常慢,那么你需要记住,优化应该是一个持续的过程。

赞(288)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的内容,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。本博客资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。如果本文导致的版权问题以及内容纠错问题请联系站长QQ:1004619 | 点此给我发送邮件
本文标题:php mysqli 慢
本文地址:https://www.1004619.com/nn/phpmysqlim.html