【发布时间】:2016-09-19 18:37:01
【问题描述】:
哪个更好更高效?一个大查询然后只处理在 php 中或从 php 函数中获取的查询将只创建一个查询小数据的循环函数。还请考虑该表可能很大(数千个原始)。谢谢。
评论表
id | parent | msg
---+--------+---------
1 | 0 | hello
2 | 1 | hi
3 | 2 | whats up
4 | 3 | yow
5 | 1 | hellow
6 | 2 | nice
7 | 0 | great
预期的输出是这样的:
Array
(
[0] => Array
(
[id] => 1
[parent] => 0
[value] => hello
[child] => Array
(
[0] => Array
(
[id] => 2
[parent] => 1
[value] => hi
[child] => Array
(
[0] => Array
(
[id] => 3
[parent] => 2
[value] => whats up
[child] => Array
(
[0] => Array
(
[id] => 4
[parent] => 3
[value] => yow
)
)
)
[1] => Array
(
[id] => 6
[parent] => 2
[value] => nice
)
)
)
[1] => Array
(
[id] => 5
[parent] => 1
[value] => hellow
)
)
)
[1] => Array
(
[id] => 7
[parent] => 0
[value] => great
)
【问题讨论】:
-
最好从mysql服务器获取一个查询中的所有数据,然后在php页面中处理,因为mysql需要更多时间来执行每个查询,而php必须比mysql快。
-
@AfshanShujat 非常感谢!
-
这在很大程度上取决于您的大型查询是否会比许多小型查询更复杂并且需要更复杂的执行计划。 对它进行基准测试两种方法都可以弄明白。
-
明白了,谢谢@deceze
标签: php mysql arrays codeigniter hierarchy