Oracle题.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle题.doc

Oracle(66道) 一、理论题(15道) 1.什么是视图?视图的作用视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。简化查询 保护我们的一些私有数据,通过视图也可以用来更新数据,但是我们一般不这么用 缺点:要对视图进行维护创建视图需要CREAE VIEW系统权限,视图的创建语法如下: CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 视图名[(别名1[,别名2...])] AS 子查询 [WITH CHECK OPTION [CONSTRAINT 约束名]] [WITH READ ONLY]索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 ????? ON <schema>.<table_name> ?????????? (<column_name> | <expression> ASC | DESC, ??????????? <column_name> | <expression> ASC | DESC,...) ???? TABLESPACE <tablespace_name> ???? STORAGE <storage_settings> ???? LOGGING | NOLOGGING ??? COMPUTE STATISTICS ???? NOCOMPRESS | COMPRESS<nn> ???? NOSORT | REVERSE ???? PARTITION | GLOBAL PARTITION<partition_setting> 相关说明 1)UNIQUE | BITMAP:指定UNIQUE为唯一值索引,BITMAP为位图索引,省略为B-Tree索引。 2)<column_name> | <expression> ASC | DESC:可以对多列进行联合索引,当为expression时即“基于函数的索引” 3)TABLESPACE:指定存放索引的表空间(索引和原表不在一个表空间时效率更高) 4)STORAGE:可进一步设置表空间的存储参数 5)LOGGING | NOLOGGING:是否对索引产生重做日志(对大表尽量使用NOLOGGING来减少占用空间并提高效率) 6)COMPUTE STATISTICS:创建新索引时收集统计信息 7)NOCOMPRESS | COMPRESS<nn>:是否使用“键压缩”(使用键压缩可以删除一个键列中出现的重复值) 8)NOSORT | REVERSE:NOSORT表示与表中相同的顺序创建索引,REVERSE表示相反顺序存储索引值 9)PARTITION | NOPARTITION:可以在分区表和未分区表上对创建的索引进行分区 3.SQL语句索引优化规则 ①不带where条件的SQL语句一定不能使用索引 ②在where条件中有索引的字段不能使用函数 例子:假设我们查询在1987年参加工作的所有员工 SQL >select * from emp where to_char(hiredate,'yyyy')='1987'; ③在where条件中有索引的字段不能参与运算 例子:查询在10000天以前参加工作的员工信息 SQL >select * from emp where sysdate-hiredate>10000; SQL >select * from emp where hiredate<sysdate-10000; ④尽量少用 not in , not exists , like '%' 等关键字 ⑤书写查询语句的时候,应该首先考虑关联查询、其次考虑集合查询,最后考虑子查询 ⑥where条件中限制性强的条件应该写在where最后的一个条件 where条件从右向左经行条件解析 ⑦多表查询中,驱动表应该是返回数据少的表 例子:查询部门account 的所有员工信息 SQL > select e.*,d.dname from emp e,dept d where e.deptno=d.deptno and d.dname='ACCOUNTING'; 4.DDL语句包括哪些? Create table ,alter table,drop table等 5.DML语句包括哪

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档