视图有索引吗?答:没有. 查询视图会触发索引吗?答:会
Posted 廿二又
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视图有索引吗?答:没有. 查询视图会触发索引吗?答:会相关的知识,希望对你有一定的参考价值。
面试的时候当我问到这样的问题的时候面试者往往不给我正面回答.很讨厌.所以我在表体直接给出答案.
看其他人的回答 视图会用走索引吗.
答: 先来一通视图的定义 ,视图的作用,优缺点. 很好,不正面回答防止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;
以上是关于视图有索引吗?答:没有. 查询视图会触发索引吗?答:会的主要内容,如果未能解决你的问题,请参考以下文章