数据库中的Index和View的理解
来源:互联网 发布:淘宝店退货的店铺多么 编辑:程序博客网 时间:2024/06/11 14:55
索引(Index)
所谓的Index就是索引其作用与书本中的索引类似,无非就是提高我们检索数据的速度。当然是需要付出一定的代价,这种代价就是数据库所占硬盘空间的增加。其实这也可以理解,我们如果要对一本字典做索引,势必要买点胶贴纸粘在书页上,书的分量增加是必然的了。
索引按照存储结构的不同分为簇索引也叫聚集索引(clustered index)和非簇索引也叫非聚集索引(unclustered index)
簇索引对表进行物理页上的重新排序,所以记录的存储顺序是会改变的,而且是永久性的改变。
非簇索引生成完全独立于数据的结构,该结构的叶结点种存储的是关键字的值和行定位器,而簇索引的叶结点存储的是实际的数据。所以俺的理解是簇索引是跟数据放在一块儿的,它把数据给重新排了个个儿。而非簇索引则是把数据的信息抽象出来用关键字值和行定位器来定位该行数据。所以他独立于数据之外来排序。对数据本身的排序没有影响。说了这么多搞得有点类似于数组跟链表的关系了。
语法:
--创建簇索引
create clustered index Index_Name
on Table_Name (Column_Name)
--创建非簇索引
create index Index_Name
on Table_Name (Column_Name)
视图(View)
简单来说视图就是存储在数据库中的查询语句。
语法:
--创建视图
create view ViewName
as select section
个人理解视图就是一部分懒人在处理复杂查询的时候好不容易想出来一个查询语句,怕以后忘了就给了个名字记住喽。所以以后再要用的时候就不需要写查询语句,而直接从视图里边得结果就完了。
图是永久存储在数据库里边的(否则懒人的目的就达不到了),对图中数据的更新会直接更新到图所映射的表中。这个也好理解,如果不能这么做,我还要这个东东干吗?但是这个功能是有限制的,那就是:该视图必须基于单个的表,并且没有group by 或者having 子句的查询。
- 数据库中的Index和View的理解
- 数据库中的Index和View的理解
- 数据库中的view, index
- 数据库系统概念中table/view/schema/index的关系
- 搜索引擎 lucene2 关于Field类中的内部类Store和Index的理解
- View和ViewGroup的理解
- Activity和View的理解
- 对数据库视图view的理解
- 深入理解css中的position定位和z-index属性,CSS的定位属性共有9个
- oracle 学习笔记(十一) 数据库常用对象, table ,constraint ,index ,view和数据字典
- index的注释和理解之HTML-body部分
- Android的View 简单理解和实例
- Android的View 简单理解和实例
- 对View的一些理解和认识
- 数据库中的主键和外键理解
- 数据库中的视图理解和优点介绍
- UITableView Cell Index和数据库的匹配套用
- 关于z-index的理解
- JS后退一页
- 理解离散傅立叶变换
- shell脚本中 用grep判断某程序是否启动
- Ubuntu 开启 SSH服务
- 关于Ibatis 的自动防止SQL 注入
- 数据库中的Index和View的理解
- ibatis的SQL注入,证实了我此前的想法
- 汇编简化段定义
- android中为常用的Context对象 设置一个全局变量
- AsyncQueryHandler(http://www.cnblogs.com/duguguiyu/archive/2008/01/24/1050813.html)
- POJ 1208 TheBlocks Problem (模拟+队列)
- 协方差的意义和计算公式
- SQL 2005,分析器: ImpersonationInfo 对象的语法不正确(转一个)
- 一致性 hash 算法(consistent hashing)