`

如何确定是否使用索引

 
阅读更多

今天花了9牛二虎之力研究了下 索引;

 

我在happy表中插入了22w条数据。

 CREATE TABLE HAPPY(HA VARCHAR2(100)
 ,HB VARCHAR2(100),HC VARCHAR2(100));
 INSERT INTO HAPPY
 SELECT  TRUNC(DBMS_RANDOM.VALUE(),2)*100,TRUNC(DBMS_RANDOM.VALUE(),2)*100,SYS_GUID() FROM dual/happy;

然后在plsql里 执行 创建索引;

 create index index_haid on happy(ha)

 

select hA from happy

查看,发现时全表扫描,nnd,怎么没用索引啊;

 

诶,原来我本来就 没加查询条件,当然是全表扫描;

 

然后我写了select hA from happy where ha=50; 结果发现还是没执行索引,

NND,我又使用了sqlplus里的。强制使用索引
 select /*+ index(index_haid) */ from happy

中间那个不是 plsql的注释,记住;

发现还是未使用索引。我要发狂了。。。

 

终于,我发现了秘密。请看下面!!!

 

 select hA from happy where ha=50;
 select hA from happy where ha='50';
 select hb from happy where ha=50;
 select hb from happy where ha='50';

分享到:
评论

相关推荐

    清除Oracle中无用索引

    在Oracle9i出现以前,没有办法确定SQL查询没有使用的索引。让我们看看Oracle9i提供了什么样的方法让你找到这些索引并删除它们。过程是相当简单的。Oracle9i有一个工具能够让你使用ALTER INDEX命令监视索引的使用。...

    简单例子理解主键,索引,聚集索引,复合索引,非聚合索引

    一、 创建主键(主键=主键索引=聚集索引) 主键是什么? 答:拿主键可以唯一确定一条数据,它和物理存储排序一致,不能为空,一个表只能有一个。 原本没有创建的主键的表在磁盘上存储为: Id=0;username=username0;sex...

    聚集索引与非聚集索引的区别

     聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按...

    SqlServer-查看所有表、行数、索引名称、索引的字段

    系统跑久了,对于所有的索引想做一个具体的确认,所以写了这么一段, 可以用来分析自己数据的表及索引详情 针对记录数比较大的表,尤其要注意索引的情况,非常影响性能

    oracle使用索引与不使用索引的性能详析

    上级索引块包括下级索引块的索引数据,叶节点包括索引数据和确定行实际位置的rowid。 使用索引的目的: 加快查询速度 降低I/O操作 消除磁盘排序 何时使用索引: 查询返回的记录数 排序表<40% 非排序表 <...

    MySQL进阶学习需要掌握的具体内容解析,MySQL数据库如何使用和优化索引.docx

    因此,在设计和使用MySQL数据库时,了解如何使用和优化索引非常重要。 一个索引是一种数据结构,可以快速定位和访问表中的数据。MySQL支持多种类型的索引,包括B树索引、哈希索引和全文索引等。正确选择索引类型...

    SQL Server中用索引视图查看性能状况

    索引视图是一个已被物化或保存在数据库中的视图。...如果你确定你的视图满足这些标准,你给视图建立的第一个索引必须是一个唯一的聚集索引。建立的第一个视图必须 在一组栏上,并且被聚集,以便索引被物化。

    唯一非聚集索引变量传入时索引失效解决方案

    确认1.碰到了一个一个非常慢的SQL server语句,发现是变量查询时很慢 SQL语句: DECLARE @SN VARCHAR(12) SET @SN = '30F335CD0045' SELECT [Mac2] FROM SF_Cp_Detail WHERE [Mac2] = @SN 确认2.查看索引是:唯一非...

    如何监控Oracle索引的使用完全解析

    在oracle8i中,确定使用了那个索引的方法意味着要对存在语共享SQL区中的所有语句运行EXPLIAN PALN,然后查询计划表中的OPERATION列,从而识别有OBJECT_OWNER和OBJECT_NAME列所确定的那个索引上的索引访问。...

    MapReduce倒排索引代码

    倒排索引源于实际应用中需要根据属性的值...由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。

    Oracle Index索引无效的原因与解决方法

    经过几次排除,把问题范围缩小在索引上,首先在确定索引本身没有问题的前提下,考虑索引有没有被使用到,那么新的问题来了,怎么知道指定索引是否被启用。 判断索引是否被执行 1. 分析索引 即将索引至于监控状态下,...

    关于数据库索引的理解(实践总结)

    关于数据库索引的理解(实践总结) 关于复合索引,非复合索引的效率问题!

    清除Oracle中无用索引 改善DML性能

    许多Oracle管理人员只要看见在一个...在Oracle9i出现以前,没有办法确定SQL查询没有使用的索引。Oracle9i有一个工具能够让你使用ALTER INDEX命令监视索引的使用。你可以查找这些没有使用的索引并从数据库里删除它们。

    索引优化原则及Oracle中索引总结

    Oracle索引建立原则  · 确定针对该表的操作...  · 在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定;  · 尝试建立复合索引来进一步提高系统性能。修改复合索引将消耗更长

    sql全文索引

    sql全文索引,将sqlserver中创建索引的过程记录下来,确定可用(项目中已应用)

    简单介绍MySQL中索引的使用方法

    数据库索引是一个数据结构,提高操作的速度,在一个表中可以使用一个或多个列,提供两个快速随机查找和高效的顺序访问记录的基础创建索引。 在创建索引时,它应该被认为是将SQL查询的那些列上创建一个或多个索引的列...

    ElasticSearch.md倒排索引

    - 与正向索引比较:正向索引是通过扫描每一条数据(文档)来确定是否符合条件,而倒排索引是通过内容分词后查找符合条件的数据(文档) - MySQL与ElasticSearch的对比 - 表——Index(索引) - 数据(行)——...

    大数据流的多维索引

    给出了大数据流的多维索引形式化描述,将其投影到空间中,是对不确定数据流的很好的建模

    oracle 索引不能使用深入解析

    查找原因的步骤 首先,我们要确定数据库运行在何种优化模式下,相应的参数是:optimizer_mode。可在svrmgrl中运行“showparameteroptimizer_mode”来查看。ORACLEV7以来缺省的设置应是”choose”,即如果对已分析的...

    C语言数据结构课程设计基于B树为索引的图书管理系统源码.zip

    (2)作为演示系统,不必使用文件,全部数据可以都在内存存放。但是由于上述四项基本业务活动都是通过书号(即关键字)进行的,所以要用B树(2-3树)对书号建立索引,以获得高效率。 (3)系统应实现的操作及其功能定义...

Global site tag (gtag.js) - Google Analytics