• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php对数组比较有心得的过来看看【疑难】

php 搞代码 3年前 (2022-01-24) 21次浏览 已收录 0个评论

php对数组比较有经验的过来看看【疑难】

PHP code

<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$arr= array();$query = $db->query("SQL语句");while($row = $db->fetch_array($query)) {$arrtmp['content']= $row['content ];。。。。$arr[] = $arrtmp;}

使用的是数组来存放查询出来的数据,有标题有摘要等等

现在遇到的问题是这样的,mysql数据库连接本地,测试速度很快,但是mysql数据库远程连接就很慢了,skip-name-resolve加了没有用,可以排除。
这个问题几天了没有解决,很是纳闷,请教大侠!

——解决方案——————–
mysql数据库连接本地,测试速度很快,但是mysql数据库远程连接就很慢了

大型点的 解决方法 RAD数据库

其他的解决方法
1.将数据库设置在本地 定时同步数据库数据
2.缓存数据
3.将本地的服务器托管到数据库相同的机房
——解决方案——————–

探讨

另外附加一句,mysql远程连接的那台服务器到程序所在的服务器之间的网速是很快的。

——解决方案——————–
这是当然,主机与数据库不在同一台服务器上肯定要慢些,就你上面那点代码看不出问题。(、本文来源gao@!dai!ma.com搞$$代^@码网*搞gaodaima代码除非你还有其他代码.
——解决方案——————–
那就是数据过大传输速度慢咯.考虑看看输出压缩结果.不过我没处理过压缩数据 所以看别人是否有经验吧。

探讨

问题的症结点是保存$arrtmp[‘content’]= $row[‘content ];
这个的问题,有些大数据我注释,速度还是很快,但是这些数据又是需要的
想请教数组保存大数据有什么优化的东西,为什么mysql连接远程很慢,换成本地却非常快?

——解决方案——————–
mysql_query 取得的结果集是缓存在 mysql 那边的
mysql_fetch_array 每次读取的是那个缓存在 mysql 的记录

于是你每读一次就有一次远程数据传输,自然就很慢了

mysqli 有一个函数可以一次性的将查询结果集取回,并缓存在本地
不过函数名不记得了(因为不用mysqli),前两个月在这里讨论过

pdo 提供了 fetchall 方法,可以一次性的将结果集转换成数组
好像 mysqli 也提供了

只要你的数据库类不是基于 mysql函数 的,总是有办法解决远程读取慢的问题的

——解决方案——————–
现在别用原始的php mysql函数了
换mysqli或者pdo吧
尤其是pdo比较好用
——解决方案——————–
假定读取一条记录的时间是 50ms
那么 50 条记录就是 50 * 50 = 2500 ms = 2.5s

ping 的结果是单边平均耗时
而通讯是双边的


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php对数组比较有心得的过来看看【疑难】

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址