本页仅为文字内容,不可回答。

PL1_Oracle性能优化_06索引设计

亲~,请留下您宝贵的想法,非常感谢您的参与!
一个B树索引的示意图如下,以下说法中正确的是
通过此索引访问一条记录,至少需要3个IO
假设要访问399这条记录,那么最后访问的叶子节点应该是L3
通过B2枝干节点能访问到的最小值是500
通过B2枝干节点能访问到的最大值是800
如下图中低集群因子的索引,最适合下列哪种场景?
单条记录查询
索引范围扫描查询
全表扫描查询
高频次随机查询
若id字段上有索引,以下SQL中,不会走到索引的是
select name from table1 where id 100
select name from table1 where nvl(id,0) 0
select name from table1 where id is null
select name from table1 where id like %233%
关于B树索引,以下说法正确的是
复合索引可以包含更多的字段,所以包含的字段越多越好
索引列中包含Null值时,会作为一个特殊值进行存储
相对来说B树索引更适合OLAP的数据库
理论上说,B树索引最适合创建在高基数的列上
1、 只从性能角度考虑,在如下的应用场景中,最适合创建索引的列是每日新增200M左右的数据量,按照create_date字段分区,应用中最频繁的访问是通过id字段检索某天内的记录,id字段在每天的记录数里唯一
在create_date字段上创建全局索引
在create_date字段上创建分区索引
在id字段上创建全局索引
在id字段上创建分区索引
关于索引的高度,以下说法中错误的是
表示从根到叶子节点的距离
相当于获取一条记录所需的IO次数
可以通过blevel列来获取
索引高度越低越好,因此应该经常性的重建以降低高度
关于索引块分裂,以下说法中正确的是
索引块分裂是一个非常消耗资源的操作,应绝对避免
索引块分裂时的比例值,取决于插入值
当根节点发生分裂时,索引高度会增加
频繁的索引块分裂会导致性能问题
您的姓名
    ____________
数据库中如下的一个SQL,id字段上创建了索引,但发现执行计划没有走到索引,可能的原因是select * from t where id 3
Id字段不是数字类型
Id字段有空值
表t较大,且Id字段3的记录占大多数
索引失效
假设有一张存放全国所有身份证信息的表,表结构如下。那么以下SQL中,在where条件后的字段上创建B树索引能够带来性能提升的有create table tb_id(id varchar2(20),name varchar2(20),gender int,address varchar2(500));
select name from tb_id where id = xxx;(查询的身份证号真实存在)
select count(*) from tb_id where gender = 1;
select name from tb_id where id 110000100001010000;(身份证号最小值)
select name from tb_id where id isnull
分割线