`
chenhongwei0924
  • 浏览: 42468 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

sql19

阅读更多
[Q]怎么避免使用特定索引 
[A]在很多时候,Oracle会错误的使用索引而导致效率的明显下降,我们可以使用一点点技巧而避免使用不该使用的索引,如: 
表test,有字段a,b,c,d,在a,b,c上建立联合索引inx_a(a,b,c),在b上单独建立了一个索引Inx_b(b)。 
在正常情况下,where a=? and b=? and c=?会用到索引inx_a, 
where b=?会用到索引inx_b 
但是,where a=? and b=? and c=? group by b会用到哪个索引呢?在分析数据不正确(很长时间没有分析)或根本没有分析数据的情况下,oracle往往会使用索引inx_b。通过执行计划的分析,这个索引的使用,将大大耗费查询时间。 
当然,我们可以通过如下的技巧避免使用inx_b,而使用inx_a。 
where a=? and b=? and c=? group by b||''  --如果b是字符 
where a=? and b=? and c=? group by b+0  --如果b是数字 
通过这样简单的改变,往往可以是查询时间提交很多倍 
当然,我们也可以使用no_index提示,相信很多人没有用过,也是一个不错的方法: 
select /*+ no_index(t,inx_b) */ * from test t 
                where a=? and b=? and c=? group by b 
  
[Q]Oracle什么时候会使用跳跃式索引扫描 
[A]这是9i的一个新特性跳跃式索引扫描(Index Skip Scan). 
例如表有索引index(a,b,c),当查询条件为 
where b=?的时候,可能会使用到索引index(a,b,c) 
如,执行计划中出现如下计划: 
INDEX (SKIP SCAN) OF 'TEST_IDX' (NON-UNIQUE) 
Oracle的优化器(这里指的是CBO)能对查询应用Index Skip Scans至少要有几个条件: 
1 优化器认为是合适的。 
2 索引中的前导列的唯一值的数量能满足一定的条件(如重复值很多)。 
3 优化器要知道前导列的值分布(通过分析/统计表得到)。 
4 合适的SQL语句 
等。 
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    ft_bigID(生成19位的Long Integer类型的数据).sql

    ft_bigID(生成19位的Long Integer类型的数据),生成唯一的随机码。

    Oracle19C RAC通过gateways连接SQL server数据库

    5. 重启监听器以应用配置更改,命令包括:`srvctl stop listener -n ora19crac1`,`srvctl stop listener -n ora19crac2`,`crsctl stat res -t`,`srvctl start listener -n ora19crac1`,和`srvctl start listener...

    Oracle 19C SQL调优指南 中文版 DBA优化利器

    《Oracle 19C SQL调优指南》是针对Oracle数据库管理员(DBA)的重要参考资料,尤其适合那些希望提升SQL性能的专业人士。SQL调优是数据库管理中的核心技能,它关乎到系统的响应时间、资源利用率和整体性能。Oracle 19C...

    ORACLE 19C SQL调优指南 中文版 Oracle DBA

    Oracle 19C SQL调优是数据库管理员(DBA)日常工作中不可或缺的一部分,它涉及到优化SQL查询性能,提高数据库系统的整体效率。本指南针对Oracle 19C版本,提供了丰富的调优策略和技术,旨在帮助DBA们更好地管理和维护...

    SQLPrompt10.4.zip运行在 sql server2019 亲测可用

    SQLPrompt是一款广受欢迎的SQL代码智能提示和优化工具,由Redgate Software公司开发。SQLPrompt 10.4版本能够与Microsoft SQL Server 2019兼容,这意味着它可以在最新的SQL Server环境中无缝运行,为数据库开发者和...

    网络环境下连接SQL Server和Oracle 19c的方法.docx

    在网上看了很多资料,感觉不是很仔细,很多同学遇到这个问题,就详细说明一下在局域网环境下Navicat连接SQL Server和Oracle 19c的方法,PL/SQL Developer连接Oracle

    SQLprompt10.1.7.15015完美使用支持sql2019的ssms18.5.zip

    SQL Prompt是Redgate Software开发的一款强大的SQL Server数据库开发辅助工具,版本号10.1.7.15015,它可以与SQL Server Management Studio (SSMS) 18.5无缝集成,为SQL Server 2019提供优化的代码编写、格式化和...

    sql server2019安装包

    SQL Server 2019是Microsoft推出的一款关系型数据库管理系统,是SQL Server系列中的一个重要版本。它提供了强大的数据存储、处理和分析能力,广泛应用于企业级数据库应用开发和数据分析。在本安装包中,主要包含的是...

    SQL Prompt插件, 支持SQL2019+SSMS18.5,仅用于学习研究. 不得用于商业用处!

    SQL Prompt是一款强大的SQL代码智能提示和优化工具,它极大地提升了SQL开发人员的工作效率。这款插件专为SQL Server Management Studio (SSMS) 设计,版本10.1.5.14730表明它是该系列的一个特定更新,兼容SQL Server...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    19.SQL Server 2014返回记录排序.mp4 2.SQL Server 2014硬件和软件要求.mp4 20.SQL Server 2014关联查询.mp4 21.SQL Server 2014聚合函数AVG() SUM().mp4 22.SQL Server 2014聚合函数MIN() MAX().mp4 23.SQL ...

    SQL Tuning Advisor使用总结

    sql_id => '19v5guvsgcd1v', scope => DBMS_SQLTUNE.scope_comprehensive, time_limit => 60, task_name => '19v5guvsgcd1v_tuning_task', description => 'Tuning task for statement 19v5guvsgcd1v.'); END;...

    适用SQL Server 2016的智能提示插件-SQL Prompt

    SQL Prompt 是一款拥有SQL智能提示功能的SQL Server和VS插件。能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为用户提供唯一合适的代码选择。亲测可适用于SQL Server 2016,SQL Server 2014...

    Microsoft OLE DB Driver 19 for SQL Server (x64)

    用于操作LOCALDB ocalDB 安装将复制启动 SQL Server 数据库引擎 所需的最少... 开发人员工具可以向开发人员提供 SQL Server 数据库引擎 ,使其不必管理 Transact-SQL 的完整服务器实例即可撰写和测试 SQL Server代码。

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一)

     第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web应用  第27章 dbms_sq...

    SqlServer语句自动提示插件

    Sql Server语句自动提示插件是一款为数据库开发者和管理员提供便利的工具,它极大地提高了编写SQL语句的效率。在数据库开发过程中,手动输入复杂的SQL命令可能会耗费大量时间,而这款插件则能够通过智能提示功能,...

    Sybase SQL anywhere10全部学习资料

    Sybase SQL anywhere10全部学习资料很大.PDF格式.非常详细. 00.sybase中文安装指南FOR WIN 01.SQL Anywhere 10简介 02SQL Anywhere 10更改和升级... M-Business Anywhere 编程 19UltraLiteC 及 C++ 编程

    sqlserver新版智能提示插件 SQLPrompt9.rar

    SQLServer是一款广泛应用于企业级数据管理和分析的数据库管理系统,由微软公司开发并提供。SQLPrompt是Red Gate Software推出的一款强大的SQL Server智能提示插件,它极大地提升了SQL编码的效率和准确性。在SQL...

    ORACLE 19C SQL调优指南.chm

    Oracle 19C SQL调优优化指南,全面提升SQL优化能力,DBA必备,开发必备

    SQL_Server 面试笔试试题及答案

    "SQL Server 面试笔试试题及答案" 本资源摘要提供了 SQL Server 面试笔试试题及答案,涵盖了数据库...* 本资源提供了 19 道 SQL Server 面试题,涵盖了数据模型、实体关系、SQL 语言、Transact-SQL 等多方面的知识点。

Global site tag (gtag.js) - Google Analytics