5段SQL可以测试出你对SQL性能优化知识了解多少
来源:互联网 发布:网络彩票2018重启时间 编辑:程序博客网 时间:2024/04/26 06:20
5段SQL可以测试出你对SQL性能优化知识了解多少
数据库是很强大的,它可以实现超预期的执行性能。但是很多人很容易写出不能发挥最高效算法的SQL查询语句,因而也容易产生无法预期的性能结果。
下面UncleToo为大家整理出5段SQL,都是大家平时经常写的SQL,但是稍微经过一些优化,或者换种写法,也许他的执行效率就会高出好几倍,大家也可以对照自己平时的写法,看看自己是否还有继续学习的空间。
本文介绍的SQL是基于ORACLE数据库的。
1、查询2014年所有的行
有过SQL优化经验的人也许会问,这样写没问题啊,将出现在条件中的字段加索引,可以起到优化SQL的作用,怎么会有问题呢?有这样疑问的朋友对数据库优化还是有所了解的,但是你忽略了一点:不管是ORACLE还是其他数据库,一旦将字段放在函数里执行,该字段的索引将不起作用。那么正确的写法如下:
2、查询出最近日期的一行数据
这段SQL很经典,开发中很多地方都可能会用到类似这样的查询。没错,这段SQL是不需要优化的,它可以按照经过索引的 Top-N 查询方式执行,它的效率跟 INDEX UNIQUE SCAN(唯一索引扫描) 是等效的,所以会非常快。
3、两个查询语句,通过一个普通列查询:
这个很简单,只有第一个SQL用到了索引,而第二个却无法使用索引。其实这就是单索引与组合索引在使用上的区别。
4、字符串模糊查询
在前面的文章中,我们曾经说过 like 语句如何使用通配符才能提高效率(8个SQL语句常用优化技巧)。当条件中遇到 like 语句,那么无论该字段是否设置索引效果都一样,因为索引遇到 like 就会无法发挥其效能,而且也没有更好的解决办法,因此建议大家除非万不得已,否则不要轻易使用 like 语句。
5、查询某条件下的记录数
上面两条查询语句,第一条可能会查出几千或者几万条记录,而第二条语句因为多了一个条件可能只查出几条或几十条记录,也许大家会认为第二条语句的效率更快。其实刚好相反,第一条语句的执行效率更快。因为第一条语句中,索引覆盖了所有查询字段,而第二个SQL中的b条件没有索引。
0 0
- 5段SQL可以测试出你对SQL性能优化知识了解多少
- 5段SQL可以测试出你对SQL性能优化知识了解多少
- 5段SQL可以测试出你对SQL性能优化知识了解多少
- 5段SQL可以测试出你对SQL性能优化知识了解多少
- 5段SQL可以测试出你对SQL性能优化知识了解多少
- 你对SQL性能优化知识知多少?
- SQL你了解多少
- 你究竟对SQL Server 2005了解多少?
- 你究竟对SQL Server 2005了解多少?
- 对SQL Server 2005了解多少吗?
- SQL Server 2005你了解多少?
- 关于sql 注入,你了解多少?
- 你需要了解的SQL知识
- 5个JavaScript小脚本测试你对JavaScript了解多少?
- 对显卡你了解多少?
- 你对Theme了解多少
- 你对BIOS了解多少?
- sql优化测试的部分知识
- 怎样避免(F5)刷新页面造成的重复提交
- java 导出csv文件
- 响应式Web设计的9项基本原则
- BAT脚本编写教程
- 开发:随笔记录之 OSGI的jar添加几个小问题及其注意的地方
- 5段SQL可以测试出你对SQL性能优化知识了解多少
- Android SDK更新以及ADT更新出现问题
- nginx proxy_cache配置
- SQL验证字符是否是数值
- iOS解析XML文档的SDK
- 通过Hadoop StreamingAPI使用perl写MapReduce
- XMUT1145 代号2(搜索题:bfs)
- Appium之“使用 resource id 定位”
- 【1】Quick-Cocos2d-x3.3Coinflip示例分析