`
xitong
  • 浏览: 6207270 次
文章分类
社区版块
存档分类
最新评论

[Index]Null值和索引

 
阅读更多

Index是不存储NULL值的,所以如果你有NULL的条件在SQL中,那么相关的索引是用不到的。

CREATE TABLE PTIAN1 AS (SELECT * FROM DBA_OBJECTS);

CREATE INDEX PTIAN_INDEX ON PTIAN1(DATA_OBJECT_ID);

EXEC DBMS_STATS.GATHER_TABLE_STATS('APPS','PTIAN1', CASCADE=>TRUE );
SELECT * FROM PTIAN1 WHERE DATA_OBJECT_ID = 11;

SELECT * FROM PTIAN1 WHERE DATA_OBJECT_ID IS NULL;


解决方法

创建Function-Based Index

CREATE INDEX PTIAN_FUNC_INDEX ON PTIAN1 (NVL(DATA_OBJECT_ID,-1));

EXEC DBMS_STATS.GATHER_TABLE_STATS('APPS','PTIAN1', CASCADE=>TRUE );

SELECT OBJECT_NAME FROM PTIAN1 WHERE  NVL(DATA_OBJECT_ID,-1) = -1;



分享到:
评论

相关推荐

    MySQL 创建索引(Create Index)的方法和语法结构及例子

    CREATE INDEX Syntax CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [index_type] ON ... HASH | RTREE} 代码如下: — 创建无索引的表格 create table testNoPK ( id int not null, name varchar(10) ); — 创建

    index,索引,多维索引数据结构

    NULL 博文链接:https://haitongz.iteye.com/blog/618427

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

    唯一非聚集索引留着, 再添加一个 非聚集索引,保留两个索引, 终于搞定了. CREATE UNIQUE NONCLUSTERED INDEX [IX_SF_CP_Detail_MAC2] ON [dbo].[SF_Cp_Detail] ( [Mac2] ASC ) WHERE ([MAC2]<>'' AND [MAC2] IS NOT...

    Oracle Index 索引介绍

    NULL 博文链接:https://dolphin-ygj.iteye.com/blog/444147

    files-index:文件索引器和查找器

    文件索引文件索引器和查找器如何使用先索引目录: (files-index:index-dir " ~/ " ) 使用预定义的文件属性搜索任何有效的 lisp 谓词: size以字节为单位的文件大小, (files-index:to-bytes 5 :m)可以帮助您转换大小...

    Java增强for循环中获取index

    NULL 博文链接:https://rensanning.iteye.com/blog/2003205

    表和索引统计信息不一致

    NULL 博文链接:https://yinxingfang.iteye.com/blog/1699251

    MySQL 8.0 之索引跳跃扫描(Index Skip Scan)

    MySQL 8.0.13开始支持 index skip scan 也即索引跳跃扫描。该优化方式支持那些SQL在不符合组合索引最左前缀的原则的情况,优化器依然能组使用组合索引。 talk is cheap ,show me the code 实践 使用官方文档的例子...

    Lucene 详细教案

    这样你就告诉 lucene 我要在 c 盘的 index 目录下建立索引文件,我要使用车东老师的二分词算法做分析器、我要在这个目录下删除以前的索引或任何文件创立我的索引文件。 索引的建立有三种方式,让我一一道来: 1 ...

    Mysql建表与索引使用规范详解

    一、 MySQL建表,字段需设置为非空,需设置字段默认值。二、 MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL。三、 MySQL建表,如果字段等价于外键,应在该字段加...七、 建立索引index(part1,part2,par

    SQL SERVER 2008 R2 重建索引的方法

    参考sys.dm_db_index_physical_stats 检查索引碎片情况 1.SELECT 2.OBJECT_NAME(object_id) as objectname, ...7.FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, ‘LIMITED') 8.WHERE

    MySQL中的唯一性约束与NULL详解

    这时 A,B,C 三列都是不允许 NULL 值的,唯一性约束也是 work 的。 后来由于需求的变化,修改了以前的唯一性约束,又多加了一列。(至于为什么加就不赘述了)。 ALTER TABLE testTable DROP INDEX IDX_UN_LOAN_PLAN_...

    详解mysql中的冗余和重复索引

    mysql允许在相同列上创建多个索引,无论是有意还是无意,mysql需要单独维护重复的索引,并且优化器在优化查询的时候也需要逐个地进行考虑,这会影响性能。  重复索引是指的在相同的列上按照相同的顺序创建的相同...

    数据库优化以及操作说明

    索引优化:重建或者重新组织必要的索引 The SQL Server Maintenance Solution lets you intelligently rebuild or reorganize only the indexes that are fragmented. In the IndexOptimize procedure, you can ...

    大厂常见经典mysql面试题.rar

    在MySQL中,使用CREATE INDEX语句来创建索引。索引可以加快SELECT语句的执行速度,特别是当数据量很大时。但是,在INSERT、UPDATE和DELETE语句中使用索引可能会导致性能下降,因为MySQL需要同时更新索引和数据。此外...

    fractional-index

    分数索引用于排序项目的分数索引的 Javascript 实现,如最初所... 对于列表的开始和结束,传递null作为参数,例如: import fractionalIndex from "fractional-index" ;const index = fractionalIndex ( "a" , null ) ;

    Sql Server 索引使用情况及优化的相关Sql语句分享

    代码如下: –Begin Index(索引) 分析优化的相关 Sql — 返回当前数据库所有碎片率大于25%的索引 — 运行本语句会扫描很多数据页面 — 避免在系统负载比较高时运行 — 避免在系统负载比较高时运行 declare @dbid int ...

    数据库相关的知识点!

    2、唯一索引:加速查找和唯一约束(可含null) 加入索引:create unique index 索引名 on 表名(列名) 删除:drop index 索引名 on 表名 3、主键索引 加入索引:alter table 表名 add primary key(列名) 删除索引:...

    详解MySQL InnoDB的索引扩展

    索引扩展,InnoDB通过将主键列附加到每个辅助索引中来自动扩展该索引。创建如下表结构: mysql> CREATE TABLE t1 ( -> i1 INT NOT NULL DEFAULT 0, -> i2 INT NOT NULL DEFAULT 0, -> d DATE DEFAULT NULL, -> ...

    第02个小程序:遍历画笔

    //索引值 PropertyInfo[] props; //属性数组 [STAThread] public static void Main() { Application app = new Application(); app.Run(new FlipThroughTheBrushes()); } public ...

Global site tag (gtag.js) - Google Analytics