字段中存在空值的问题测试
当字段中存在空值时,创建在字段上的索引并不包含空值。当查询的条件为is null时,数据库会采用全表扫的方式。
SQL> create table dayu071702 as select * from dba_objects;Table created.SQL> @GatherTableStat.sqlTO_CHAR(SYSDATE,'
-----------------
20180717 13:55:55"begin Gather Table's Statstics,Please waiting......"
Enter value for owner: dayu
Enter value for table_name: dayu071702
Enter value for parallel_count: 4PL/SQL procedure successfully completed.TO_CHAR(SYSDATE,'
-----------------
20180717 13:56:06SQL> insert into dayu071702(object_id) values('');1 row created.SQL> commit;Commit complete.SQL> create index dayu071702_ind on dayu071702(object_id);Index created.SQL> select count(*) from dayu071702;COUNT(*)
----------86588SQL> select count(*) from dayu071702_ind;
select count(*) from dayu071702_ind*
ERROR at line 1:
ORA-00942: table or view does not existSQL> @GatherTableStat.sqlTO_CHAR(SYSDATE,'
-----------------
20180717 13:58:33"begin Gather Table's Statstics,Please waiting......"
Enter value for owner: dayu
Enter value for table_name: dayu071702
Enter value for parallel_count: 4PL/SQL procedure successfully completed.TO_CHAR(SYSDATE,'
-----------------
20180717 13:58:42SQL> desc dba_indexs;
ERROR:
ORA-04043: object dba_indexs does not existSQL> desc dba_indexes;Name Null? Type----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------OWNER NOT NULL VARCHAR2(30)INDEX_NAME NOT NULL VARCHAR2(30)INDEX_TYPE VARCHAR2(27)TABLE_OWNER NOT NULL VARCHAR2(30)TABLE_NAME NOT NULL VARCHAR2(30)TABLE_TYPE VARCHAR2(11)UNIQUENESS VARCHAR2(9)COMPRESSION VARCHAR2(8)PREFIX_LENGTH NUMBERTABLESPACE_NAME VARCHAR2(30)INI_TRANS NUMBERMAX_TRANS NUMBERINITIAL_EXTENT NUMBERNEXT_EXTENT NUMBERMIN_EXTENTS NUMBERMAX_EXTENTS NUMBERPCT_INCREASE NUMBERPCT_THRESHOLD NUMBERINCLUDE_COLUMN NUMBERFREELISTS NUMBERFREELIST_GROUPS NUMBERPCT_FREE NUMBERLOGGING VARCHAR2(3)BLEVEL NUMBERLEAF_BLOCKS NUMBERDISTINCT_KEYS NUMBERAVG_LEAF_BLOCKS_PER_KEY NUMBERAVG_DATA_BLOCKS_PER_KEY NUMBERCLUSTERING_FACTOR NUMBERSTATUS VARCHAR2(8)NUM_ROWS NUMBERSAMPLE_SIZE NUMBERLAST_ANALYZED DATEDEGREE VARCHAR2(40)INSTANCES VARCHAR2(40)PARTITIONED VARCHAR2(3)TEMPORARY VARCHAR2(1)GENERATED VARCHAR2(1)SECONDARY VARCHAR2(1)BUFFER_POOL VARCHAR2(7)FLASH_CACHE VARCHAR2(7)CELL_FLASH_CACHE VARCHAR2(7)USER_STATS VARCHAR2(3)DURATION VARCHAR2(15)PCT_DIRECT_ACCESS NUMBERITYP_OWNER VARCHAR2(30)ITYP_NAME VARCHAR2(30)PARAMETERS VARCHAR2(1000)GLOBAL_STATS VARCHAR2(3)DOMIDX_STATUS VARCHAR2(12)DOMIDX_OPSTATUS VARCHAR2(6)FUNCIDX_STATUS VARCHAR2(8)JOIN_INDEX VARCHAR2(3)IOT_REDUNDANT_PKEY_ELIM VARCHAR2(3)DROPPED VARCHAR2(3)VISIBILITY VARCHAR2(9)DOMIDX_MANAGEMENT VARCHAR2(14)SEGMENT_CREATED VARCHAR2(3)SQL> select NUM_ROWS from dayu071702_ind;
select NUM_ROWS from dayu071702_ind*
ERROR at line 1:
ORA-00942: table or view does not existSQL> select NUM_ROWS from dba_indexes where index_name='DAYU071702_IND';NUM_ROWS
----------86587SQL>
SQL>
SQL> select object_type from DAYU071702 where object_id is null;^CSQL>
SQL> explain plan for select object_type from DAYU071702 where object_id is null;Explained.SQL> select * from table(dbms_xplan.display) ;PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 804319829--------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 14 | 350 (1)| 00:00:05 |
|* 1 | TABLE ACCESS FULL| DAYU071702 | 1 | 14 | 350 (1)| 00:00:05 |
--------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------1 - filter("OBJECT_ID" IS NULL)13 rows selected.SQL> explain plan for select object_type from DAYU071702 where object_id=200;Explained.SQL> select * from table(dbms_xplan.display) ;PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2727514443----------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 14 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| DAYU071702 | 1 | 14 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | DAYU071702_IND | 1 | | 1 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------2 - access("OBJECT_ID"=200)14 rows selected.
转载于:https://www.cnblogs.com/dayu-liu/p/9323040.html
字段中存在空值的问题测试相关推荐
- MySQL中处理空值时要小心两个个陷阱
[IT168 专稿]MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是 ...
- 获取的字段值是空值或者为null,而你自己的需求就是想要获取的字段为一个 * 默认的值
一.业务阐述 在开发中查询的数据库结果集,既要连接数据库.执行数据库操作.关闭数据库,还要把结果集的记录人为的设置到自己封装的DAO中等一系列的重复代码. 本文主要是想解决:用户只需要得到数据库连接, ...
- python 空值_数据库中的空值与NULL的区别以及python中的NaN和None
展开全部 数据库里面的"32313133353236313431303231363533e59b9ee7ad9431333363393632空值"有两种:空字符("&qu ...
- 检索数据_13_从表中查询空值
从表中查询空值 需求描述 需求:从雇员表emp里查询所有奖金为空的员工名称.工资信息和奖金信息. 解决方法:首先找到该段逻辑的涉及到的表名和字段名,emp表,字段ename,sal,comm,使用IS ...
- 转帖Jmeter中的几个重要测试指标释义
Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为"聚合报告".今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下, ...
- mysql字段中有逗号隔开_在MySQL字段中使用逗号分隔符
大多数开发者应该都遇到过在mysql字段中存储逗号分割字符串的经历,无论这些被分割的字段代表的是id还是tag,这个字段都应该具有如下几个共性.被分割的字段一定是有限而且数量较少的,我们不可能在一个字 ...
- =空值返回空值_@ParameterizedTest在@CvsSource中具有空值
=空值返回空值 在JUnit 4中编写参数化测试非常麻烦. JUnit 5对框架进行了一些有用的改进,并且使用不同的参数运行相同的测试比以前的版本要简单得多. 但是,在这样的参数中传递空值存在一个小问 ...
- @ParameterizedTest在@CvsSource中具有空值
在JUnit 4中编写参数化测试非常麻烦. JUnit 5对框架进行了一些有用的改进,并且使用不同的参数运行相同的测试比以前的版本要简单得多. 但是,在这样的参数中传递空值存在一个小问题. 在这篇文章 ...
- sql语句在navicat中可以查询到所有数据但是在idea程序中不行_数据迁移测试实施方案...
点击关注,我们共同每天进步一点点! 最近经历了一场大型的数据迁移测试,因为以前对数据迁移测试研究甚少,所以对测试实施方案的制定非常的棘手,在网上也查询了很多,发现相关资料很少,并且大部分都是一些理论指 ...
最新文章
- 【BIEE】数据透视表格第一列添加序号
- c++ 异常处理(2)
- [POI2004]GRA
- coolite 获取新的页面链接到当前页面指定位置Panel的运用
- 2019年9月全国程序员工资统计(参考)
- MFC 创建快捷方式(学习笔记)
- winrar去弹窗广告激活办法!!
- 学校计算机硬件管理制度,学校规章制度之计算机硬件管理制度
- 地铁综合监控系统网络方案,简化工作轻松应对客流高峰
- KY261 Jugs
- 从numpy掩码到pytorch掩码
- python将多个表的数据合并到一个表
- revit二次开发——如何选取元素(revit2016)
- PERT 活动图 关键路径
- 求解一个约束优化问题
- 算法学习笔记五:最短路径
- 2008大连市政府挂牌督办48项工作圆满实现全年目标
- Windows下编程--模拟时钟的实现
- 关于推荐算法工程师大家比较关注的几个问题
- 内存取证之46届世界技能大赛湖北省选拔赛
热门文章
- JMS学习(六)--提高非持久订阅者的可靠性 以及 订阅恢复策略
- 解决:MVC对象转json包含\r \n
- 本地突破XP系统权限
- 关于Webstrom连接github的配置问题。
- centos7安装mysql,安装easy install、pip、scrapy等
- function 与 + - !~
- 阅读 Linux 内核源码——共享内存
- 今天做了一个DNN的模块,填到它默认的home页(关于DNN新建模块无法操作)
- 任何比较的排序algorithm都需要nlogn
- partial equation lecture first order pde lecture 1