使用Explain关键字来确认是否可以通过索引来解决Order BY速度问题。
来源:互联网 发布:未登录淘宝联盟 编辑:程序博客网 时间:2024/05/22 08:02
如果用户无法确定是否可以通过索引来提高Order By语句的查询效率,那么就可以凭借Explain关键字来帮助关键员进行判断。如可以通过使用explain select * from ad_user where is_active=’Y’ order by value(即在常规的查询语句前面加上一个explain关键字),用来判断是否可以使用索引来提高查询的效率。判断的方法是:如果这个查询语句中,有一个using filesort这个字段,那么就非常的抱歉,无法通过使用索引来提高这个语句的查询效率。反之,没有这个字段,则说明可以通过索引来提高查询效率。
这里需要说明的是,通常情况下文件排序优化不仅仅可以用于记录排序关键字和行的位置,并且还会记录查询所需要的列。如此的话,就可以避免多次读取行的信息。为了让大家更加明白其中的道理笔者简单说明一下这工作的过程。通常情况下,文件排序优化包括四 个步骤。第一步读取与Where条件语句所匹配的行信息;第二步对于每个行、记录构成排序关键字和行位置的一系列值,并且记录查询所需要的列;第三步根据排序关键字排序元祖;第四步按排序的顺序检索行,不过此时是直接从排序的元祖读取所需要的列(使用的是第三个步骤中的结果),而不会重新访问表中的数据。显然使用文件排序优化的思路,可以避免重复访问表,从而提高查询的效率。
- 使用Explain关键字来确认是否可以通过索引来解决Order BY速度问题。
- 跨域问题可以通过配置nginx来解决
- explain 关于 order by 与索引
- explain 关于 order by 与索引(二)
- oracle order by 索引是否使用的情况
- 使用set order to来指定当前索引
- 使用order来返回当前的主控索引名称
- 通过Ping来判断一个远程计算机是否可以到达
- 计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决
- 通过转成SQL来进行查询,解决hql不能在distinct,group by结果集上使用count的问题
- sql语句中where、group by、having、order by 是否可以使用别名
- order by 也可用函数来排序
- 是否能直接使用img对象名字来替代images[索引值]数组呢?测试代码显示:可以。
- 使用稀疏索引来判断键是否存在
- 可以使用ActualHeight来判断textblock是否已经trimming
- 使用explain来优化查询SQL
- 关于“任何软件工程遇到的问题都可以通过增加一个中间层来解决”的明悟
- 关于索引来解决慢查询的问题
- linux下 apache与多个tomcat 集权负载均衡
- win7/vista系统下恢复wubi安装的ubuntu启动项
- 排序算法之希尔排序
- 工作的无奈
- android Manifest.xml选项
- 使用Explain关键字来确认是否可以通过索引来解决Order BY速度问题。
- windows 2003 组策略 设置开机登录时不需按CTRL+ALT+DEL 及关机时不需输关机原因
- 用户权限设置和进程权限提升
- 技术集结号 第二季
- 太空毒贩0.1总结
- c风格字符串和C++的string在文件名方面的使用注意
- MFC学习笔记之简单绘图一
- struts2 自定义类型转换器
- 如何给Flash的Socket验证提供crossdomain.xml文件服务端口