`

两条速度相差1350倍的sql语句

阅读更多
select *from RESOURCES where  RES_STATUS = 1 and PLATFORM_FLAG=1 and  RES_ID in
    (select RES_ID from DOWNLOADRECORDS where DOWNLOADRECORDS_TIME > DATE_SUB(now(),INTERVAL 7 DAY) 
    group by RES_ID order by COUNT(*) desc ) limit 1, 10;

 这条语句查处结果需要20250毫秒

  select bb.* from (select * from DOWNLOADRECORDS where DOWNLOADRECORDS_TIME > DATE_SUB(now(),INTERVAL 7 DAY) group by RES_ID order by COUNT(*) desc limit 1,10) as aa,RESOURCES as bb  where aa.RES_ID=bb.RES_ID  and bb.RES_STATUS = 1 and bb.PLATFORM_FLAG=1;

 

这条语句只需要15毫秒

 

 

相同的环境下,查出相同的结果速度相差1000倍

0
2
分享到:
评论
6 楼 xuehanxin 2012-01-29  
被骂了号,偶一定记住各位大哥的话
5 楼 lei_1021 2012-01-14  
废话,这效率当然不一样了,一个是两张表连接查询,一个是一张表每条记录在另一张表里遍历,效率能一样?
4 楼 xuehanxin 2012-01-12  
测试数据量一个表是10万多条记录一个是30w记录
3 楼 wilddonkey 2012-01-06  
两种写法都用过,
第一种一般用exists不用in,没感觉性能差异很大啊
不知道你的测试数据量。。。
2 楼 xuehanxin 2011-12-13  
谢谢提醒,那个写博客的时候掉了
1 楼 houxinyou 2011-12-13  
两个语句好像是不一样的吧?

相关推荐

    六条比较有用的MySQL数据库操作的SQL语句小结

    以下是六个实用的SQL语句,对初学者尤其有帮助: 1. **计算年数** 当需要根据生日计算年龄时,可以使用以下SQL语句: ```sql SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW()) - TO_DAYS(@dateofbirth)), '%Y') + 0...

    T-SQL高级查询

    上面括号中的语句,就是子查询语句(内部查询)。在外面的是外部查询,其中外部查询可以包含以下语句: 1、 包含常规选择列表组件的常规select查询 2、 包含一个或多个表或视图名称的常规from语句 3、 可选的...

    sql高级进阶

    - 检测两个表中的数据及对应数据的条数是否相同:使用EXCEPT或INTERSECT语句。 - 聚集与内联接/外联接:结合使用聚集函数和各种连接。 - 从多个表中返回丢失的数据:利用OUTER APPLY进行表的自关联查询。 - 多表...

    2009达内SQL学习笔记

    多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From table [Where condition] ...

    sql全面自学通

    - **INSERT VALUES语句**:向表中插入一条或多条新记录。 - **INSERT SELECT语句**:从一个表中选择数据并插入到另一个表中。 - **更新语句**:修改表中已有的记录。 - **删除语句**:删除表中的记录。 #### 十二...

    mssql中得到当天数据的语句

    因此,这条SQL语句: ```sql select count(point_id) as today_sum from point where datediff(d, point_date, getdate()) = 0 ``` 会返回今天(`getdate()`)在`point`表中`point_id`的数量,也就是`today_sum`。...

    云HBaseSQL及分析PhoenixSpark.pdf

    在索引性能测试中,主表的写入性能会随着二级索引表数量的增加而线性降低,通常无索引表和有8个索引表的主表写入性能相差6-7倍。测试结果表明,使用全局索引(GLOBALINDEX)的写入性能优于使用局部索引(LOCALINDEX...

    Oracle日期函数

    **示例SQL语句**: ```sql SELECT SYSDATE FROM DUAL; ``` **返回结果**: ``` SYSDATE ---------- 21-6-05 ``` 这里显示的是一个格式化后的日期值,具体格式取决于会话设置。 #### 2. `LAST_DAY` — 获取指定...

    Mysql 相邻两行记录某列的差值方法

    在数据库管理中,有时我们需要对数据进行...总的来说,MySQL提供了丰富的SQL语句和聚合函数,可以满足各种数据处理和分析的需求。在实际应用中,根据业务场景灵活运用这些工具,能够有效地提升数据处理的效率和准确性。

    DB2手册pdf

    虽然编写复杂的SQL语句可以提高查询效率,但也需要权衡可读性和维护性。过度复杂的SQL可能难以理解和调试。 #### SQL SP及CSP的选择 选择使用SQL存储过程 (SQL SP) 还是C存储过程 (CSP),取决于性能需求和复杂性。...

    牛新庄:DB2使用经验

    - **SQL语句尽量写复杂SQL**:合理构建复杂的SQL语句可以减少查询次数,提高性能。 - **SQLSP及CSP的选择**:根据具体情况选择使用SQL存储过程还是C语言存储过程,考虑执行效率等因素。 - **查询的优化(HASH及RR_...

    oracle基础试题

    - **解答**: 解释两条SQL语句的含义和输出结果。 - 第一条语句:输出为NULL或错误提示,因为没有指定列名。 - 第二条语句:输出为NULL或错误提示,因为没有指定列名。 **9. 让SELECT语句的输出结果为。** - **...

    db2开发经验

    2. **SQL语句尽量写复杂SQL:** 尽量合并多个查询为一个复杂的SQL语句,可以减少I/O操作,提高性能。 3. **SQL SP及CSP的选择:** SQL存储过程和C存储过程各有优缺点,在选择时需要考虑性能和可维护性等因素。 4. **...

Global site tag (gtag.js) - Google Analytics