当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

Mysql查询优化

发表于: 2013-05-03   作者:雪域江南   来源:转载   浏览次数:
摘要:    项目需要查询游戏用户的流失用户,对于流失用户的定义为:当天登陆,之后三天未登录的用户视为流失用户,目前有数据表 login_info 分别存储了用户id,登陆时间(int 11)。    最简单的实现方式:SELECT DISTINCT uid from login_info WHERE login_time between $time1['begi
   项目需要查询游戏用户的流失用户,对于流失用户的定义为:当天登陆,之后三天未登录的用户视为流失用户,目前有数据表 login_info 分别存储了用户id,登陆时间(int 11)。
   最简单的实现方式:SELECT DISTINCT uid from login_info WHERE login_time between $time1['begin'] AND $time1['end']
and uid not in (select DISTINCT uid from login_info where login_time between $time2['begin'] and $time2['end'])  其中的$time1  存储为一天的时间起止 $time2存储为流失的时间范围(这里是三天),但是实际当中查询速度相当慢。
    群里找了个高手,给出了另外一种解决办法,最终sql如下:

select uid from (select uid,MAX(login_time) as max,MIN(login_time) as min FROM login_info where login_time between 1361721600 and 1362067199 GROUP BY uid ) as A
where max between 1361721600 AND 1361807999

查询时间大大缩短,不得不佩服高手啊!!!具体就不做解释了

Mysql查询优化

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
mysql性能优化-慢查询分析、优化索引和配置 阅读目录 二、查询与索引优化分析 三、 配置优化 转自:
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
一、优化概述 二、查询与索引优化分析 a.性能瓶颈定位 show命令 慢查询日志 explain分析查询 profil
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
一、 优化概述 MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 pr
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号