本帖最后由 littlebugu 于 2014-03-20 09:53:07 编辑

解决方案 »

  1.   

    1、采用长连接连接数据库
    2、一次性读取查询结果到本地 (mysqli_result::store_result、pdo::fetchall)
      

  2.   

    谢谢版主回复!用这两种办法可以提高一些性能。但有些地方不好处理,比如A,B,C是三个查询,需要先做A,根据结果筛选后,才能做B,同样做了B才能做C,有先后顺序的要求,没有办法一次获取查询结果。其次,有些查询不方便一次行查询结果到本地,除非对业务逻辑做很多修改。
      

  3.   

    下午将两台机器放到了有线局域网上测试,速度大大加快,在无线局域网情况下,大概ping值是20ms左右,在有线情况下只有不到1ms,所以100多次调用也只有大概70ms左右,这样的话这种延时问题不大。
      

  4.   

    1次app的请求中,php和mysql有上百次的交互?
    一次请求就有上百次交互?。。本来数据库和php分开就会有一定的网络延迟。
    建议:
    1. 启用缓存,减少对数据库的访问。
    2. 优化数据库结构和索引。