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

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;

以上是关于视图有索引吗?答:没有. 查询视图会触发索引吗?答:会的主要内容,如果未能解决你的问题,请参考以下文章

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

答:SQLServer DBA 三十问之五:有关视图索引

如果我在 sql server 中为表创建索引,看起来索引表的视图会受到影响吗?

存储过程、索引、视图、触发器 的区别

一文教你学会Hive视图和索引

oracle如何才能让这样的SQL查询走索引,除了拼SQL还有别的方法吗?