- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引言:大家都知道“效率”是数据库中非常重要的一个指标,如何提高效率大家可能都会想起索引,但索引又这么多种,什么场合应该使用什么索引呢?哪种索引可以提高我们的效率,哪种索引可以让我们的效率大大降低(有时还不如全表扫描性能好)下面要讲的“索引”如何成为我们的利器而不是灾难!多说一点,由于不同索引的存储结构不同,所以应用在不同组织结构的数据上,本篇文章重点就是:理解不同的技术都适合在什么地方应用!B-Tree索引场合:非常适合数据重复度低的字段 例如 身份证号码??手机号码??QQ号等字段,常用于主键 唯一约束,一般在在线交易的项目中用到的多些。原理:一个键值对应一行(rowid)??格式: 【索引头|键值|rowid】优点:当没有索引的时候,oracle只能全表扫描where qq这个条件那么这样是灰常灰常耗时的,当数据量很大的时候简直会让人崩溃,那么有个B-tree索引我们就像翻书目录一样,直接定位rowid立刻就找到了我们想要的数据,实质减少了I/O操作就提高速度,它有一个显著特点查询性能与表中数据量无关,例如 查2万行的数据用了3 consistent get,当查询1200万行的数据时才用了4 consistent gets。当我们的字段中使用了主键or唯一约束时,不用想直接可以用B-tree索引缺点:不适合键值重复率较高的字段上使用,例如 第一章 1-500page 第二章 501-1000page实验:alter system flush shared_pool;? ?清空共享池alter system flush buffer_cache;??清空数据库缓冲区,都是为了实验需要创建leo_t1??leo_t2 表leo_t1 表的object_id列的数据是没有重复值的,我们抽取了10行数据就可以看出来了。LS@LEO create table leo_t1 as select object_id,object_name from dba_objects;LS@LEO select count(*) from leo_t1;??COUNT(*)? ?? ?9872LS@LEO??select * from leo_t1 where rownum = 10;OBJECT_ID OBJECT_NAME ? ?? ???20 ICOL$? ?? ???44 I_USER1? ?? ???28 CON$? ?? ???15 UNDO$? ?? ???29 C_COBJ#? ?? ?? ?3 I_OBJ#? ?? ???25 PROXY_ROLE_DATA$? ?? ???39 I_IND1? ?? ???51 I_CDEF2? ?? ???26 I_PROXY_ROLE_DATA$_1leo_t2 表的object_id列我们是做了取余操作,值就只有0,1两种,因此重复率较高,如此设置为了说明重复率对B树索引的影响LS@LEO create table leo_t2 as select mod(object_id,2) object_ID ,object_name from dba_objects;LS@LEO select count(*) from leo_t2;??COUNT(*)? ?? ?9873LS@LEO select * from leo_t2 where rownum = 10;OBJECT_ID OBJECT_NAME ? ?? ?? ?0 ICOL$? ?? ?? ?0 I_USER1? ?? ?? ?0 CON$? ?? ?? ?1 UNDO$? ?? ?? ?1 C_COBJ#? ?? ?? ?1 I_OBJ#? ?? ?? ?1 PROXY_ROLE_DATA$? ?? ?? ?1 I_IND1? ?? ?? ?1 I_CDEF2? ?? ?? ?0 I_PROXY_ROLE_DATA$_1LS@LEO create index leo_t1_index on leo_t1(object_id);? ?创建B-tree索引,说明 默认创建的都是B-tree索引Index created.LS@LEO create index leo_t2_index on leo_t2(object_ID);? ?创建B-tree索引Index created.让我们看一下leo_t1与leo_t2的重复情况LS@LEO select count(distinct(object_id)) from leo_t1;? ? 让我们看一下leo_t1与leo_t2的重复情况,leo_t1没有
您可能关注的文档
- 第1章1课上修改版2.23资料.doc
- 第1章劳动法的基础理论资料.doc
- MIS介绍2016资料.pptx
- 第02讲有理数的加减法资料.docx
- MPS225HPII型中速磨煤机资料.docx
- MSG5E变速器维修手册WXMSG5E001资料.doc
- NBNCGYGLZDTY02101城轨车辆布线规范资料.doc
- 第2节高原湿地──三江源地区资料.doc
- NBT47013.32015标准(2016超声Ⅲ级班)资料.pptx
- 第2课《画家的调色板》1资料.pptx
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 基于Android开发的购物商城App的设计与实现-毕业设计.pdf VIP
- 测绘中级工程师职称答辩题库.pdf
- 办公大楼供电设备管理维护方案.docx VIP
- 学习小组组织与管理小组组织与管理实施计划.docx
- 2024年中考物理二轮题型(全国通用)压轴题:含压强、浮力、杠杆、滑轮的机械效率的综合计算(解析版).pdf VIP
- 高校学生工作案例分析的方法与技巧.pdf VIP
- 基于Android的网上商店商城购物系统app的设计与实现毕业论文.docx
- 地理学概论地理科学研究的基本方法.ppt
- 八年级上册英语完形填空、阅读理解专题100题(含参考答案).pdf VIP
- 2023年肺癌脑转移中国治疗指南.docx
文档评论(0)