优化SQL语句的若干方法

1、操作符号:NOT IN操作符

此操作是强列推荐不使用的,因为它不能应用表的索引。

推荐方案:用NOT EXISTS 或(外连接+判断为空)方案代替"IS NULL", "<>", "!=", "!>", "!

因为他们不走索引全是表扫描。

NOT IN会多次扫描表,

使用EXISTS、NOT EXISTS、IN、LEFT OUTER JOIN来替代,特别是左连接, 而Exists比IN更快,最慢的是NOT操作。

使用in时,在IN后面值的列表中,将出现最频繁的值放在最前面,出现得最少的放在最后面,这样可以减少判断的次数

2、注意union和union all的区别。union比union all多做了一步distinct操作。能用union all的情况下尽量不用union。

3、查询时尽量不要返回不需要的行、列。另外在多表连接查询时,尽量改成连接查询,少用子查询。

4、尽量少用视图,它的效率低。对视图操作比直接对表操作慢,可以用存储过程来代替它。特别的是不要用视图嵌套,嵌套视图增加了寻找原始资料的难度。

我们看视图的本质:它是存放在服务器上的被优化好了的已经产生了查询规划的SQL。对单个表检索数据时,不要使用指向多个表的视图,

直接从表检索或者仅仅包含这个表的视图上读,否则增加了不必要的开销,查询受到干扰.

5、创建合理的索引,对于插入或者修改比较频繁的表,尽量慎用索引。因为如果表中存在索引,插入和修改时也会引起全表扫描。

索引一般使用于where后经常用作条件的字段上。

6、在表中定义字段或者存储过程、函数中定义参数时,将参数的大小设置为合适即可,勿设置太大。这样开销很大。

7、Between在某些时候比IN速度更快,Between能够更快地根据索引找到范围。select * from chineseresume where title in ('男','女')

Select * from chineseresume where between '男' and '女'是一样的。

由于in会在比较多次,所以有时会慢些。

8、ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名

例如:表TAB1 16,384 条记录

表TAB2 1 条记录

oracle查询怎样更效率,Oracle提高查询效率的方法相关推荐

  1. oracle 10g 速度慢,让Oracle跑得更快—Oracle 10g性能分析与优化思路_数据库教程

    资源名称:让Oracle跑得更快-Oracle 10g性能分析与优化思路 内容简介: 在这本书里读者将会学到作者在性能优化方面的一些思路和思考,一些故障处理的方法和原则,这些东西是作者在实践中长期积累 ...

  2. 让oracle跑得更快——oracle 10g性能分析与优化思路,[让Oracle跑得更快.Oracle.10g性能分析与优化思路]概要1.doc...

    [让Oracle跑得更快.Oracle.10g性能分析与优化思路]概要1 在线事务(OLTP) 在线分析(OLAP) 在Oracle数据库中,凡是分配了存储空间的,都称为段,所有段并不一定指的是表,也 ...

  3. cpu java poi 导出_让 Java 开发更简单,提高工作效率 | Gitee 项目推荐

    1.项目名称:基于 Spring Boot 的权限管理系统 项目简介:Good 权限管理系统是作者学习 springBoot 时基于 springBoot 开发的一套轻量级的权限系统,其目的是形成一套 ...

  4. 如何评判软件测试的效率,如何衡量测试效率,提高测试效率?

    "根据系统测试发现缺陷数来衡量测试人员的系统测试效率,测试执行效率",这种方法是很片面的.它的优点是便于统计和分析,缺点是只通过一个方面考核了测试效率等,漏掉了很多其他因素. 那么 ...

  5. Java基础学习总结(105)——让 Java 开发更简单,提高工作效率!

    1.一种利用 JAVA 注释支持多行字符串的方法 从BeetlSql项目将SQL全放在Beetl模板里得到启发,又想到一个比较偏门的用法. 传送门: https://my.oschina.net/dr ...

  6. oracle 语句提高查询效率的方法

    oracle 语句提高查询效率的方法 1:.. where column in(select * from ... where ...); 2:... where exists (select 'X' ...

  7. db2嵌套查询效率_提高DB2 查询性能的常用方法

    [IT168 技术文档]本文先对 DB2 提供的几种用于提高查询性能的相关工具和命令进行介绍,然后根据笔者的工作经验介绍一些常用的技巧和方法来提高查询性能.主要集中于如何创建和维护索引.改写查询以及改 ...

  8. db2嵌套查询效率_提高 DB2 查询性能的常用方法

    提高 DB2 查询性能的常用方法 张大为 和 陈力 2007 年 9 月 28 日发布 简介 随着 DB2 应用的逐渐增多,越来越多的数据库开发人员在项目开发过程中都会遇到查询过于复杂,导致性能难以接 ...

  9. 博文视点大讲堂36期——让Oracle跑得更快 成功举办

    博文视点大讲堂36期--让Oracle跑得更快 成功举办 电子工业出版社博文视点公司于2010年9月日在西单图书大厦成功举办"博文视点大讲堂36期--让Oracle跑得更快"讲座. ...

  10. 在线域名批量查询工具-未注册域名批量查询软件

    在线域名批量查询工具 在线域名批量查询工具是一种通过互联网进行批量查询域名相关信息和指标的工具.以下是其主要特点: 在线查询:在线域名批量查询工具可以直接在浏览器中进行查询,无需下载和安装任何软件. ...

最新文章

  1. 《深入解析Android 5.0系统》——第1章,第1.2节安装开发包
  2. 使用ISA2004发布多个Web站点之二
  3. EF Core 2.0使用MsSql/Mysql实现DB First和Code First
  4. js list删除指定元素_vue.js
  5. SpringMVC Hello(IDEA)
  6. 在 PyCharm 中写代码
  7. 采样次数不同平均值不一样_认知的不同,才有不一样的人生
  8. Linux驱动之Kconfig语法——学习笔记(11)
  9. 2021年3月CISSP考试顺利通过,超详细的经验介绍
  10. html链接鼠标在悬停颜色,如何让HTML链接显示悬停样式?
  11. 超像素分割研究进展+SLIC近几年进展
  12. 2019PR怎么设置导出比特率?为什么我的PR导出的时候不能控制文件大小?为什么我的PR导出的文件特别大?
  13. PicGo 安装及配置
  14. 知识付费行业市场现状与商业模式分析
  15. 站群服务器用SS5 SOCKS5 配置多IP/多端口高性能代理服务器(16G内存主机支持超过100万并发S5代理)
  16. 名词性从句——专升本语法
  17. 让你的 Mac 用上最美的屏保,Aerial 使用教程
  18. 5.12 按照多个条件进行组合排序 [原创Excel教程]
  19. 厦门大学437社会工作实务考研参考书目
  20. 关于Apple M1 芯片软件安装异常的解决方法

热门文章

  1. C语言实现高尔顿钉板实验(模拟正态分布)
  2. 「熊猫」变「长臂猿」,「乌龟」变「来复枪」,深度学习模型被攻击,破解之道有哪些?
  3. Systrace 响应速度实战 2 :响应速度实战分析 - 以启动速度为例
  4. 风险预测模型_只学有用的:贷后评分模型的三种细分应用
  5. 移动硬盘只显示盘符,拒绝访问解决方法
  6. 抖音直播带货流量池规则是什么?直播间没人怎么引流?
  7. 微信html刷新页面,填坑——解决微信网页中刷新的问题
  8. 这款神器,IDM随意下载任意网页音频视频文件!
  9. Ps 2022 版新增功能及改进
  10. 手把手教你如何对接支付宝支付接口(奶爸级别)