关于sql查询的 一些问题


在写query查询语句时候,经常会想到这个问题:

1,foreach 循环查询


 $data = SELECT...;
foreach($data as &$item)
    $item['sub] = SELECT .... WHERE $item['xx'] ....;

2,多表关联 join


 先多表联合查询,然后重新组装数据

3,嵌套,子查询


那么问题来了


 考虑效率的时候,一般会如何选择,

或者还有其他高效的查询方法;

sql php

Nemo夜愿 10 years, 6 months ago

像这种查询数据量不是太大的话可以将数据合并到一个表中在去查询。
一般来说:


 $data = SELECT...;
foreach($data as &$item)
    $item['sub] = SELECT .... WHERE $item['xx'] ....;

你既然这么做了,这个for相信也不是太多,太耗时,如果在加上建了相关索引的话,效率上不存在问题,目测100ms内。

变研的熊猫 answered 10 years, 6 months ago

一般原则是尽量少在循环中操作 SQL,针对你第一个给出的 DEMO 可以使用 SELECT WHERE IN 整合成一次查询。

小熊软糖SV answered 10 years, 6 months ago

Your Answer