php+mysql环境下正在等待localhost的响应这个病怎么治呢?
本地安装的php和mysql环境,用localhost访问某页面,该页面只是一个简单的链接mysql数据库并按以下sql语句执行查询并echo出数据,其中还用到了一个网上很流行的分页函数,每页显示20条数据,总的数据库有进30万条数据。
SELECT Id,col1,col2col3,col4,col5 FROM DBtable LIMIT 100,20;
这条语句在mysql任务窗口里面的执行时间只有0.01sec
但是要打开这个PHP页面却需要近1分钟时间,至少也要40秒。
打开页面时,一开始都在显示正在等待localhost的响应,然后就非常慢。
等地host文件我已经加了127.0.0.1 localhost
my.ini文件内容如下:
basedir = L:/develop/mysql-5.6.24-win32
datadir = L:/develop/TestMysqlData
character_set_server=utf8
character_set_client=utf8
bind-address = 127.0.0.1
max_connections=100
负责链接数据库的config.php的执行时间也很短:[config.php页面执行时间:0.0050408840179443 ]秒
$stime22=microtime(true);
$host="localhost";
$db_user="root";
$db_pass="123456";
$db_name="moive";
$timezone="Asia/Shanghai";
$link=mysql_connect($host,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8");
header("Content-Type: text/html; charset=utf-8");
$etime22=microtime(true);//获取程序执行结束的时间
$total22=$etime22-$stime22; //计算差值
echo "
[config.php页面执行时间:{$total22} ]秒";
?>
通过分析发现,该php页面中链接数据库后执行sql的时间长是罪魁祸首!!!![执行sql时间:54.735748052597 ]秒
include_once("config.php");
require_once('page.class.php'); //分页类!!!
ini_set('max_execution_time','100');//防止出现PHP Fatal error: Maximum execution time of 30 seconds
$showrow = 20; //一页显示的行数
$curpage = empty($_GET['page']) ? 1 : $_GET['page']; //当前的页,还应该处理非数字的情况
$url = "?page={page}"; //分页地址,如果有检索条件 ="?page={page}&q=".$_GET['q']
//开始计时
$stime=microtime(true);
$sql = "SELECT Id,col1,col2col3,col4,col5 FROM DBtable LIMIT";
$total = mysql_num_rows(mysql_query($sql)); //记录总条数
if (!empty($_GET['page']) && $total != 0 && $curpage > ceil($total / $showrow))
$curpage = ceil($total_rows / $showrow); //当前页数大于最后页数,取最后一页
//获取数据
$sql .= " LIMIT " . ($curpage - 1) * $showrow . ",$showrow;";
$query = mysql_query($sql);
$etime=microtime(true);//获取程序执行结束的时间
$total=$etime-$stime; //计算差值
echo "
[执行sql时间:{$total} ]秒";
echo "
[SQL:{$sql} ]
";?>
网上查了一些关于等待响应时间过长的解决办法,经过尝试也无效。。
请帮我分析分析是什么原因呢?我感觉主要是这个PHP等到mysql响应的时间很长,而实际执行sql语句的时间其实也是很快的,为什么会出现这种貌似找不到mysql的现象呢?
更多 0
相关阅读:
python使用requests的post请求模拟饭否登录,得到的响应为何和浏览器不一致?
移动web开发如何保持页面在一屏内?
什么英译中字典Api可以支持短时间多次访问
爬虫程序如何处理动态分页?
c语言和java如何实现闭包?
关于php快速排序代码执行过程的问题
怎么设置在当前页面打开新页面,而不是弹出新页面
Xshell命令问题
python写了个爬虫脚本怎么通过web 方式控制开始暂停呢
php.ini中,max_input_nesting_level和max_input_vars两个限制如何理解?
mail 失败了但是返回值是1
怎么实现多列的响应式布局?
Flask的官方文档过一遍,对于如何搭建一个网站,心里还是没有谱,该怎么做呢?
如何自定义 Yii2 的 RESTful 数据Model
Sublime Text下能否实现HTML自动关联对应CSS?
算法问题:从数据集中按规则取指定数量的数据集合
avalon2 怎么替代ms-include指令的方案?求例子。
C++用类封装函数有什么好处么?
百度地图如何在覆盖物下添加文本?
React 中 使用 时间插件 my97datepicker 无法使用