设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 安全 > 正文

MYSQL联合查询效率问题

发布时间:2020-12-31 01:46 所属栏目:53 来源:网络整理
导读:《MYSQL联合查询效率问题》要点: 本文介绍了MYSQL联合查询效率问题,希望对您有用。如果有疑问,可以联系我们。 导读:MYSQL联合查询效率问题,同样的功能,不同的写法,时间和内存占用差了几千倍,不废话,直接上代码 同样的功能,直接上代码 第一种写法: 代码如

《MYSQL联合查询效率问题》要点:
本文介绍了MYSQL联合查询效率问题,希望对您有用。如果有疑问,可以联系我们。

导读:MYSQL联合查询效率问题,同样的功能,不同的写法,时间和内存占用差了几千倍,不废话,直接上代码 同样的功能,直接上代码

第一种写法:

代码如下:

  1. $Rs=DB::get($_ENV['DB'],3,"SELECT?*?FROM?_xiazhu?WHERE?uid?IN(SELECT?id?FROM?_user?WHERE?id<5000)");?
  2. var_dump($Rs);?

内存和时间:
内存使用:96514.53Kb 运行时间:1272.73ms

第二种写法:

代码如下:

  1. $Sql='';?
  2. $Rs=DB::get($_ENV['DB'],"SELECT?id?FROM?_user?WHERE?id<5000");?
  3. $Sql.=(count($Rs)>0)???"?AND?id?IN(".strtr(json_encode($Rs,JSON_UNESCAPED_UNICODE),array('{"id":"'=>'','"}'=>'','['=>'',']'=>'')).')'?:?'';?
  4. unset($Rs);?
  5. ?
  6. $Rs=DB::get($_ENV['DB'],"SELECT?*?FROM?_xiazhu?WHERE?1=1{$Sql}");?
  7. var_dump($Rs);?
  8. unset($Sql);?

内存和时间:

内存使用:9.77Kb 运行时间:11.97ms

由此可見,如果你不急于追赶开发进度的话,建议你使用第二种方法分开写,速度会有明显的差异.

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读