`
skydove
  • 浏览: 18633 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

高性能sql的编写

阅读更多

1.任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的

 

2.当采用下面这种SQL语句的编写,Oracle系统就可以采用基于last_name创建的索引。
Select * from employee
where
first_name ='Beill' and last_name ='Cliton';

3.通配符(%)在搜寻词首出现,所以Oracle系统不使用last_name的索,然而当通配符出现在字符串其他位置时,优化器就能利用索引。在下面的查询中索引得到了使用:
select * from employee where last_name like 'c%';

 

4.where not (status ='VALID') 相当于where status <>;'INVALID';
索引作用情况
select * from employee where salary<>;3000; 不使用索引
select * from employee where salary<3000 or salary>;3000; 允许Oracle对salary列使用索引

 

5.通过使用EXIST,Oracle系统会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间。Oracle系统在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在在一个加了索引的临时表中。在执行子查询之前,系统先将主查询挂起,待子查询执行完毕,存放在临时表中以后再执行主查询。这也就是使用EXISTS比使用IN通常查询速度快的原因。
同时应尽可能使用NOT EXISTS来代替NOT IN,尽管二者都使用了NOT(不能使用索引而降低速度),NOT EXISTS要比NOT IN查询效率更高。

分享到:
评论

相关推荐

    编写高性能的SQL语句注意事项

    编写高性能的SQL语句注意事项

    如何编写高性能的MySQL语句

    在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高性能的SQL语句。本文就某些SQL语句的where子句编写中需要注意的问题作详细介绍。在这些where子句中,即使某些列存在索引,但是由于编写了...

    DB2 SQL性能调优秘笈

    《DB2 SQL性能调优秘笈》不仅详尽阐述了100余条SQL语句优化的技巧和最佳实践、编写高性能SQL语句的标准和原则,以及DB2数据库性能优化的“15步法”,而且还包含大量案例,为解决各种复杂的DB2性能问题提供了解决方案...

    高SQL性能的方法

    完文档讲述了如何编写性能的sql语句,可以参考一下

    vertx-sql-client:用Java编写的高性能React式SQL Client

    vertx-sql-client:用Java编写的高性能React式SQL Client

    Inside SQL SERVER 2005 T-SQL Programming

    SQl SERVER 进阶 学习课件 ...编写和使用存储过程,在数据库中实现高性能数据管理。 编写和使用触发器,根据业务规则,实现复杂的数据完整行约束。 学习使用事务处理,使用游标获取查询结果。 数据库的各项安全性设置。

    最经典的SQL培训文档.doc

    由于开发数据库数据比较少,对于查询SQL语句,复杂视图的编写等体会...在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高性能的SQL语句。 下面从SQL语句的编写和SQL语句使用索引两方面来阐述。

    PL/SQL 6.0 汉化版

    PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。  . PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有...

    JAVA-SQL语句优化.doc

    在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,...用索引,这有助于写出高性能的SQL语句。

    DBA级SQLServer数据库从入门到精通 完整版PDF

    本教程会包含多个阶段来学习,从零基础到高级进阶,再到DBA的全套教程,主要内容包括Sql语言基础、数据库设计原则、高级查询技巧、存储过程编写、性能优化调整等。同时,可以以实例进行讲解,帮助读者更好地理解Sql...

    高性能MySQL(第二版着眼于健壮性、安全性及数据完整性)

    它不但可以帮助mysql初学者提高使用技巧,更为有经验的mysql dba指出了开发高性能mysql应用的途径。全书包含14章和4个附录,内容覆盖mysql系统架构、设计应用技巧、sql语句优化、服务器性能调优、系统配置管理和安全...

    如何编写高质量、高性能的MySQL语法

    在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,...本文主要介绍了如何编写高质量、高性能的MySQL语法。

    Microsoft SQL Server 2008技术内幕:T-SQL查询

    本书全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表...

    收获不止SQL优化

    17.1.2 谈SQL编写顺序之流言蜚语 451 17.1.3 IN与EXISTS之争 455 17.1.4 总结探讨 457 17.2 误区背后的话题扩展 457 17.2.1 话题扩展之等价与否优先 457 17.2.2 话题扩展之颠覆误区观点 458 17.3 全书完,致...

    SQL Server 2008高级程序设计 4/6

     本书首先介绍SQL Server 2008的新功能,然后在更详实的示例代码的引导下全面深入地展开论述,讨论了如何编写复杂查询、构建各种数据结构以及提高应用程序性能,还讲述了如何管理高级脚本和数据库以及如何确定和...

    sql server2008高级程序设计(1/2)

     本书首先介绍SQL Server 2008的新功能,然后在更详实的示例代码的引导下全面深入地展开论述,讨论了如何编写复杂查询、构建各种数据结构以及提高应用程序性能,还讲述了如何管理高级脚本和数据库以及如何确定和...

    SQL2012_Analysis_Services高级教程第2版-带Demo-【完整中文版】-part2

    《SQL Server数据库经典译丛:SQL Server 2012 Analysis Services高级教程(第2版)》由Microsoft产品团队的主要成员编写,介绍了如何衣物这些新功能来创建复杂的BI解决方案。为了实现这一目的,你将在《SQL Server...

    Oracle PL SQL程序设计 上 第五版(代码示例)

    《oracle pl/sql程序设计(第5版)》不但介绍了大量的oracle 11g的pl/sql新性能,还提供了许多优化pl/sql性能的新方法。 简单目录 《oracle pl/sql程序设计(第5版)(上册)》 (上册) 第1部分 pl/sql编程 第1章 pl/...

    sql anywhere11.0新特点

    它性能高并且占用的内存空间非常小。SQL Anywhere 包含了多种在前台环境中启用自我管理和维护的功能,其中包括启用计算机资源优化、启用自我调优以提升性能以及简化远程安装和支持。 互操作性 SQL Anywhere 受到...

Global site tag (gtag.js) - Google Analytics