- 浏览: 31355 次
- 性别:
- 来自: 成都
最新评论
项目需要查询游戏用户的流失用户,对于流失用户的定义为:当天登陆,之后三天未登录的用户视为流失用户,目前有数据表 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
查询时间大大缩短,不得不佩服高手啊!!!具体就不做解释了
最简单的实现方式: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
查询时间大大缩短,不得不佩服高手啊!!!具体就不做解释了
发表评论
-
关于nginx 不能解析php
2014-04-14 23:15 2155今天在服务器下源码安装了 mysql php nginx 但 ... -
Ubuntu下 git 服务器的搭建
2014-02-25 14:10 1870手上的项目越来越多,就越来越发现离不开git类似的版本管理软件 ... -
discuzz apache URL重定向
2014-02-07 15:22 726discuz安装在非根目录, ... -
利用ec2 配置自己的vpn
2013-11-29 20:24 687具体参考:http://www.myvoipapp.com/b ... -
Paypal协议升级
2013-09-06 11:18 1209公司一直在使用paypa ... -
Ubuntu下安装JDK
2013-08-20 14:42 394首先创建一个文件夹,这个文件夹位置任意,但是你一定要记得这个文 ... -
Ajax同步异步问题
2013-07-23 15:20 735之前使用ajax,都没有太过注意他的同步异步问题,今天遇 ... -
discuz论坛国际版,支持好多国家的语言!!
2013-07-16 15:57 2201使用那个开源的discuz也搭建了不少的论坛了,虽然对其实现方 ... -
许多后台的管理模板页面
2013-07-01 15:28 693一直以来都挺反感用ifream 做的后台模板,但是真的要用到的 ... -
TP中如何去掉URL中的index.php
2013-06-19 16:49 3500使用过TP的同学都知道,在URL始终会有index .php ... -
在ubuntu下快速安装lamp
2013-04-25 14:46 857之前配置lamp总是很麻烦,而且还不见的一次就能够配置好,最近 ... -
svn服务器架设
2013-04-16 16:39 574最近项目用到代码托管,相比较之前的git,现在采用的是更适合在 ... -
UNIX时间戳换算问题
2013-04-09 10:44 2138公司项目需要查询远在美国的数据库,而那边存放的数据库的 ... -
Ubuntu下MySql安装配置
2013-02-27 10:07 579具体安装过程参考:http://www.cnblogs. ... -
ubuntu 12.10中MyEclipse 10.6+下载+安装+破解
2013-02-27 09:59 1针对eclipse中的tomcat发布不了项目,决定用Mycl ... -
how to install ubuntu on your disk
2013-02-26 12:48 559对于喜欢linux系统的朋友一定想过要把系统装在自己电脑 ... -
sql
2013-01-30 17:52 590若是一个表中有多中类型,查询的时候只需要查询其中每个类型的前几 ... -
正则表达式相关
2012-12-01 11:45 630最近项目用到正则表达式,现在给大家推荐不同语言用到的正则表达式 ... -
jquery
2012-08-23 10:46 522一直在找比较好用,比较全面的日历控件,现在终于找到了就是 ... -
php
2012-04-14 09:33 681刚搭建好php开发环境,测试中,没想到在一个简单页面在IE6中 ...
相关推荐
### MySQL查询优化浅析 #### 重要概念:查询优化 查询优化是数据库管理系统(DBMS)中的关键组件之一,其核心目标在于寻找最有效的查询执行计划,以最小化资源消耗(如CPU时间、I/O操作)并加快数据检索速度。在...
MySQL查询优化技术_索引
3. 进行基于规则的优化,这是一系列预定义的转换操作,用来优化查询语句。 4. 开展基于成本的优化,也称为统计式优化,这是最复杂且最有决定性的一步。优化器会考虑多种可能的执行计划,并为每个计划计算一个成本...
- **避免全表扫描**:通过优化查询语句,减少不必要的全表扫描,例如,避免在WHERE子句中使用NOT IN、!=、等操作符。 - **监控和分析**:定期检查EXPLAIN计划,分析索引的使用情况,使用MySQL的性能分析工具如pt-...
查询优化可以通过优化索引、优化查询语句和优化数据库结构来实现。OLTP 和 OLAP 是两种不同的查询优化方法,OLTP 适用于在线事务处理,而 OLAP 适用于在线分析处理。 OLTP 和 OLAP OLTP 和 OLAP 是两种不同的查询...
### MySQL查询优化技术详解 #### 引言:MySQL查询优化的重要性 在当今互联网时代,网站的速度直接影响用户体验和业务效果。数据库查询效率成为决定网站响应速度的关键因素之一。MySQL作为广泛使用的开源关系型...
接着,"MySQL查询优化系列讲座之数据类型与效率"强调了正确选择数据类型对于优化查询的重要性。不同数据类型占用的空间、存储效率以及参与计算的方式都不同,选择合适的数据类型可以减少存储需求,提高查询速度。这...
本文将深入分析MySQL查询优化的三个主要方向,包括硬件升级、MySQL进程调优以及查询操作优化,并详细介绍如何利用Memcached软件作为第三方缓存工具来进一步优化MySQL查询。 首先,硬件升级是直接提高数据库性能的...
MySQL查询优化器是数据库管理系统中的核心组件,负责解析SQL语句并制定出执行查询的最佳计划。这个过程涉及多个阶段,包括解析、预处理、优化和执行。本资料“Mysql查询优化器.rar”包含了对这一关键主题的深入探讨...
4. **减少临时表的使用**:尽量避免在复杂的查询中创建临时表,可以通过优化查询结构或者使用内存临时表来改善性能。 5. **合理使用GROUP BY和ORDER BY**:这两个操作可能导致排序,消耗大量资源。如果可能,应先...
### MySQL 查询优化的关键知识点 #### 1. 理解MySQL如何优化LEFT JOIN 在MySQL中,`A LEFT JOIN B` 的实现主要包括以下几个步骤: - **表B依赖于表A**:这意味着表B的处理顺序依赖于表A的存在,确保在处理B之前,A...
MySQL查询优化是数据库管理中至关重要的一个环节,其目的是通过找到执行SQL语句的最佳路径,以提高查询效率,减少资源消耗。在这个过程中,查询优化器起着核心作用,它会根据代价模型来评估不同的执行计划,并选择...
其次,优化查询语句结构是另一个关键环节。避免在WHERE子句中使用不等式或复杂的表达式,这可能导致无法利用索引。尽量使用JOIN操作替代子查询,因为JOIN的执行计划可能更高效。同时,避免使用SELECT *,明确指定...
在执行查询时,MySQL优化器会根据统计信息和查询条件选择最佳的索引。 对于复杂查询优化,比如涉及多个表连接的查询,应考虑使用连接顺序、索引覆盖和子查询优化等策略。连接顺序对查询性能影响很大,MySQL会选择...
7. **查询优化技巧**:除了索引,还可以通过其他方式优化查询,比如减少子查询、避免在WHERE子句中使用函数、使用EXPLAIN分析查询计划等。理解数据库查询执行的逻辑可以帮助找出性能瓶颈。 8. **存储引擎的选择**:...