数据库中的水平分割和垂直分割
来源:互联网 发布:网络免费推广 编辑:程序博客网 时间:2024/05/18 00:10
1水平分割:根据一列或多列数据的值把数据行放到两个独立的表中。
水平分割通常在下面的情况下使用:A 表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。B 表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。C需要把数据存放到多个介质上。
例如法规表law就可以分成两个表active-law和inactive-law。activea-authors表中的内容是正生效的法规,是经常使用的,而inactive-law表则使已经作废的法规,不常被查询。水平分割会给应用增加复杂度,它通常在查询时需要多个表名,查询所有数据需要union操作。在许多数据库应用中,这种复杂性会超过它带来的优点,因为只要索引关键字不大,则在索引用于查询时,表中增加两到三倍数据量,查询时也就增加读一个索引层的磁盘次数。
2垂直分割:把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。如果一个表中某些列常用,而另外一些列不常用,则可以采用垂直分割,另外垂直分割可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减少I/O次数。其缺点是需要管理冗余列,查询所有数据需要join操作。
- 数据库中的水平分割和垂直分割
- 数据库中的水平分割和垂直分割
- 数据库中的水平分割和垂直分割
- 数据库中的水平分割和垂直分割
- 数据库中的水平分割和垂直分割
- 数据库中的水平分割和垂直分割
- 数据库中的水平分割和垂直分割
- 数据库中的水平分割和垂直分割
- 数据库的水平分割和垂直分割
- 数据库的水平分割和垂直分割
- 水平分割和垂直分割
- 数据库的水平分割和垂直分割的介绍
- 数据库水平分割,垂直分割,库表散列浅谈
- 数据库水平分割 垂直分割 库表散列简述
- 表的垂直分割和水平分割
- 数据表的水平分割和垂直分割
- mysql表垂直分割和水平分割
- 表的水平分割和垂直分割
- 实战体会Java多线程编程精要
- COM学习笔记2_COM接口vbtl内存布局
- Linux下的词霸
- 基于Java的IDEA加密算法探讨分析
- 什么是ArcGIS Server?
- 数据库中的水平分割和垂直分割
- vc隐藏执行程序,即不显示窗体执行
- 什么是ArcSDE
- 20个非常有用的电脑技术
- 韩国彩色隐形眼镜大比拼
- 什么是 ArcGIS Engine
- c语言遍历盘符,可以作一个小型的auto
- ROUTE-POLICY 路由策略规则详解
- COM学习笔记3_IUnknown的三个接口函数