dozabg1616 2017-02-08 19:48
浏览 107
已采纳

在运行PHP和MySQL的服务器上,使用一个PHP循环进行多个SQL调用是否更有效,反之亦然?

I have a Windows Server 2012 with IIS running MySQL 5.7 and PHP 5.6. I have to build some complex JSON using multiple data sets and loops.

Would it be more efficient for me to do one SQL call and then build my JSON using a number of PHP loops on an array of data?

SQL:

SELECT stuff, item_id
FROM here
WHERE item = 1 
OR item = 2 
OR item = 3 
OR item = 4

PHP:

foreach($sql_results as $item)
{
  // build JSON by looking at $item['item_id']
}

Or would it be better for me to do each SQL call individually (in a loop of some kind) and build the JSON as the calls are being made?

SQL:

SELECT stuff, item_id
FROM here
WHERE item = 1 

SELECT stuff, item_id
FROM here
WHERE item = 2 

SELECT stuff, item_id
FROM here
WHERE item = 3 

SELECT stuff, item_id
FROM here
WHERE item = 4 

PHP:

$item
// build JSON directly from each call

With a very large amount of calls, either PHP or MySQL could get bogged down... so which one would I go with as my workhorse here?

  • 写回答

2条回答 默认 最新

  • dsa1230000 2017-02-08 19:57
    关注

    The db request is definitely more time consuming, so I would choose the first approach with one SQL query and PHP loop.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?