视图有索引吗?答:没有. 查询视图会触发索引吗?答:会

面试的时候当我问到这样的问题的时候面试者往往不给我正面回答.很讨厌.所以我在表体直接给出答案.

看其他人的回答 视图会用走索引吗.

答: 先来一通视图的定义 ,视图的作用,优缺点. 很好,不正面回答防止pass ,  这样让面试官感觉自己懂得很多.


1.什么是视图

视图是一种虚拟的表,是从数据库中一个或多个表中导出来的表。
数据库中存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。
使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。

2.视图的作用
1) 使操作简便化。
2) 增加数据的安全性。
3) 提高表的逻辑独立性。

现在说正题

问:视图能用索引吗?

从几个方面来回答,

1视图不能建立索引,所以准确的说视图本身没有索引的概念.

2.视图能不能用索引不能这样说,视图是由 查询sql语句建立,或多级视图组成. 走不走索引只有表才有这个概念.所以只有表字段才能用索引.

3.用不用的起来索引 由编写的sql语句 索引的规范决定.

4.执行查询视图.可以看到会有索引被用到.但是本体是表的索引,不是视图的.

想深究的可以自己建个表 建好索引 再创建视图 看看查询的时候 执行计划怎么走 一目了然.

--测试索引生效(ora)
explain plan for  select * from test_sdf;

select * from table (dbms_xplan.display());

rollback;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值