强制索引,即指定本次查询使用某个特定的索引,这样就可避免MySQL优化器使用低效的索引。

应用场景

当前需要统计当天用户的充值排行榜,这里就需要统计当天时间每一个独立用户充值的总金额,这里用到的索引是用户id(int类型)以及充值时间(timestamp类型),SQL语句如下:

SELECT userid, SUM(money) AS money FROM `pay` WHERE userid > 100 AND updatetime >= 'xxxx-xx-xx xx:xx:xx' AND updatetime <= 'xxxx-xx-xx xx:xx:xx' GROUP BY userid

上面的语句看似没啥问题,其实的确也没问题,但是就是查询时间太长了,每执行一次都要等很久。问了一下,原来MySQL执行的时候优先使用了int类型的userid这个索引,而userid这个查询只有下界,没有上界,这里面需要查询的数据量就很大了。这个时候就轮到我们的主角FORCE INDEX 出马了,强制MySQL使用updatetime这个索引,语句如下:

SELECT userid, SUM(money) AS money FROM `pay` FORCE INDEX(updatetime) WHERE userid > 100 AND updatetime >= 'xxxx-xx-xx xx:xx:xx' AND updatetime <= 'xxxx-xx-xx xx:xx:xx' GROUP BY userid

试着去执行了一下,果然, 查询速度立马变快了,这里要感谢带我的老司机,是他告诉了我这个方法。老司机果然就是不同凡响,一上来就搞定了,牛逼。

mysql强制索引查询_MySQL FORCE INDEX 强制索引使用相关推荐

  1. mysql百万数据根据索引查询_mysql创建多列索引查询百万表数据的性能优化经验分享...

    最近发现最代码网站中的收到的评论,提到我的,心情被赞的查询异常缓慢,通过nginx日志发现响应时间快的在5s,慢的有13s,终于忍无可忍花时间来解决了. 执行explain之后的截图如下: 可以看到p ...

  2. MySQL force Index 强制索引概述

    以下的文章主要介绍的是MySQL force Index  强制索引,以及其他的强制操作,其优先操作的具体操作步骤如下:我们以MySQL中常用的hint来进行详细的解析,如果你是经常使用Oracle的 ...

  3. mysql force_MySQL force Index 强制索引概述

    以下的文章主要介绍的是MySQL force Index  强制索引,以及其他的强制操作,其优先操作的具体操作步骤如下:我们以MySQL中常用的hint来进行详细的解析,如果你是经常使用Oracle的 ...

  4. mysql强制索引查询_MySQL 强制索引

    MySQL 强制索引 简介:在本教程中,您将学习如何使用MySQL FORCE INDEX强制查询优化器使用指定的命名索引. 查询优化器是MySQL数据库服务器中的一个组件,它为SQL语句提供最佳的执 ...

  5. mysql force作用_mysql force index 用途

    mysql索引优化一直以来是DBA和开发人员长期坚持的一项基本工作,合理的索引对于业务来说非常重要,合理的索引能有效改善性能.因此在开发中,定期排查索引的有效性很重要,排查的根据就是历史sql,排查的 ...

  6. Mysql数据库(十一)unique index 唯一索引

    Mysql数据库(十一)unique index 唯一索引 唯一索引和普通索引: 1.都是能够加快搜索速度 2.唯一索引中的值不允许重复,普通索引的值允许重复 表contacts 建表语句如下,其中, ...

  7. cassandra——可以预料的查询,如果你的查询条件有一个是根据索引查询,那其它非索引非主键字段,可以通过加一个ALLOW FILTERING来过滤实现...

    cassandra的索引查询和排序 转自:http://zhaoyanblog.com/archives/499.html cassandra的索引查询和排序 cassandra的查询虽然很弱,但是它 ...

  8. mysql --force -f_Mysql_mysql force Index 强制索引

    其他强制操作,优先操作如下: mysql常用的hint 对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的h ...

  9. Mysql_mysql force Index 强制索引

    其他强制操作,优先操作如下: mysql常用的hint 对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的h ...

最新文章

  1. rank--求矩阵的秩
  2. mysql制作html静态网页6_将数据库中的所有内容生成html静态页面的代码
  3. java连接sqlserver2008_java连接sqlserver2008驱动包
  4. Python之路_Day13
  5. k8s之service服务(微服务)
  6. python copy与deepcopy (拷贝与深拷贝)
  7. 自定义SharePoint 2013 元数据选择控件
  8. 批量注册windows下的动态库
  9. shell脚本zookeeper日志定时清理
  10. 容器,Docker和Azure Container Service
  11. 苹果mac幻灯片演示文稿制作软件:PowerPoint 2019
  12. wireshark抓包教程详解
  13. Synopsys Mentor Candence
  14. mysql 取差值_mysql计算两条数据差值,求大神解答
  15. 2023大连海洋大学计算机考研信息汇总
  16. 证券基础--股票发行上市
  17. tensorflow——960M显卡深度学习_报错no kernel image is available for execution on the device详解
  18. k8s使用helm安装harbor
  19. 基于 spark ml NaiveBayes实现中文文本分类
  20. 《C和指针》学习备忘总结

热门文章

  1. [CTO札记]猜到用户意图作出的推荐,被接受度很高
  2. 八种常见的防盗链方法总结及分析
  3. 【附源码】计算机毕业设计SSM物流配送中心管理系统
  4. 联想flex 换android,联想flex15拆机加装SSD固态硬盘教程!
  5. Linux 用root账号创建一个新的登录账号
  6. 如何制定达人营销策略
  7. PHP数据类型、PHP声明和PHP变量
  8. 备忘录吕吕没有备忘录十新建_去弦备忘单
  9. 戴尔台式计算机寿命,台式电脑一般能用几年 哪些品牌比较好
  10. python分析微博数据中心_数据挖掘与数据分析