我有一个表foo(在其他20个之中)列bar,baz和quux以及baz和quux上的索引.该表有~500k行.

为什么以下查询的速度差异如此之大?查询A需要0.3秒,而查询B需要28秒.

查询A.

select baz from foo

where bar = :bar

and quux = (select quux from foo where bar = :bar order by quux desc limit 1)

说明

id select_type table type possible_keys key key_len ref rows Extra

1 PRIMARY foo ref quuxIdx quuxIdx 9 const 2 "Using where"

2 SUBQUERY foo index NULL quuxIdx 9 NULL 1 "Using where"

查询B.

select baz from foo

where bar = :bar

and quux = (select MAX(quux) from foo where bar = :bar)

说明

id select_type table type possible_keys key key_len ref rows Extra

1 PRIMARY foo ref quuxIdx quuxIdx 9 const 2 "Using where"

2 SUBQUERY foo ALL NULL NULL NULL NULL 448060 "Using where"

我使用MySQL 5.1.34.

mysql max和order by_mysql – 为什么MAX()比ORDER BY慢100倍… LIMIT 1?相关推荐

  1. MYSQL查询之count(1)与max (case when then else end)用法小结

    一.count(1)用法 1 问题:查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩 2,表格:见Mysql的select多表查询嵌套二 3,代码: SELECT student.s_id,s ...

  2. mysql union order by_MySQL order by 在 union 中使用实例分析

    下面是用于例子测试的两张原始数据表: article 文章表: aid title content 1 文章1 文章1正文内容... 2 文章2 文章2正文内容... 3 文章3 文章3正文内容... ...

  3. mysql 索引使用测试(group by、order by)

    mysql 索引使用测试(group by.order by) ************************** 测试表 字段:id.name.age.distance 插入10万条数据 drop ...

  4. mysql 优先队列_深入浅出 MySQL 优先队列(你一定会踩到的order by limit 问题)

    英语和算法是程序员的两条腿 本文适用于 MySQL 5.6 及以上版本 0.先抛问题 假设字段category无索引且有重复值,order by category 和limit组合使用的结果会和预期不 ...

  5. mysql union 出错_ORDER BY子句在MySQL中使用UNION时出错(Error with ORDER BY clause using UNION in MySQL)...

    ORDER BY子句在MySQL中使用UNION时出错(Error with ORDER BY clause using UNION in MySQL) 我在MySQL中有以下查询: (SELECT ...

  6. mysql外部排序_深入浅出MySQL优先队列(你一定会踩到的order by limit 问题)

    0.先抛问题 假设字段category无索引且有重复值,order by category 和 limit 组合使用的结果会和预期不符. 问题复现: 表结构(就是两个字段) CREATE TABLE  ...

  7. mysql order by 语句_Mysql优化order by语句的方法详解

    本篇文章我们将了解ORDER BY语句的优化,在此之前,你需要对索引有基本的了解,不了解的老少爷们可以先看一下我之前写过的索引相关文章.现在让我们开始吧. MySQL中的两种排序方式 1.通过有序索引 ...

  8. MySql学习(七)排序和分页(order by limit),及存在的坑

    代码中被[]包含的表示可选,|符号分开的表示可选其一. 排序查询(order by) 电商中:我们想查看今天所有成交的订单,按照交易额从高到低排序,此时我们可以使用数据库中的排序功能来完成. 排序语法 ...

  9. 3ds Max 2019 Essential Training 3ds Max 2019基本培训 Lynda课程中文字幕

    3ds Max 2019 Essential Training 中文字幕 3ds Max 2019基本培训 中文字幕3ds Max 2019 Essential Training 3ds Max以其建 ...

最新文章

  1. 鸿蒙开发-在JS中获取hml页面中Input输入的值
  2. C#数组解决约瑟夫环问题
  3. 如何将您的#100DaysOfCode登录转换为视觉体验
  4. mysql操作常用技巧
  5. 1w用户的并发量多大_QQ邮件订阅中心下线:卢松松博客曾经有1W多订阅用户
  6. C++中如何使用大整数__int 128
  7. 十八年开发经验分享(四)问题解决篇(下)
  8. 高数篇(二)-- 傅里叶变换 VS 拉普拉斯变换
  9. 2018-10-8-如何安装-btsync
  10. 企业微信网页应用开发 - 开发环境搭建
  11. Android Transition
  12. 现在第9代i7不能安装linux,9代I7的电脑如何重装系统?这可难不倒我,解决一共就八步!...
  13. 进一步解析ie环境下z-index问题解决方法
  14. uni-app 预编译器错误:代码使用了scss/sass语言,但未安装相应的编译器插件,请前往插件市场安装该插件
  15. 计算机教师素养有哪些内容,现代教师应具备哪些教育技术能力
  16. NFT Insider #54:BreederDAO将开启公募,游戏巨头万代南梦宫、育碧入局元宇宙
  17. 屏幕录制软件推荐,分享这3款,简单好用
  18. Android 学习论坛博客及网站推荐 1
  19. 前端获取验证码、手机号登录、注册功能
  20. 磁盘清理软件:DaisyDisk for Mac

热门文章

  1. ES 在数据量很大的情况下(数十亿级别)如何提高查询效率?
  2. 真实版删库跑路,宕机36小时市值蒸发9亿!
  3. 8月最新阿里技术栈架构资料
  4. e.printStackTrace()会导致锁死?这仅仅是打印,怎么可能?
  5. 2018 年值得关注的 Web 设计趋势
  6. c++调用python3
  7. cannot import name 'get_all_providers'
  8. HNSW算法原理(二)之删除结点
  9. python float转str
  10. 青龙羊毛——狸猫十堰