`
jefferent
  • 浏览: 80710 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

数据库水平分割、垂直分割、库表散列简述

 
阅读更多

大容量数据库对表做分割可以提高性能。表分割有以下三种方式:

  1. 水平分割
        根据一列或多列数据的值把数据行放到两个独立的表中。
        水平分区将表分为多个表。每个表包含的列数相同,但是行更少。例如,可以将一个包含十亿行的表水平分区成 12 个表,每个小表表示特定年份内一个月的数据。任何需要特定月份数据的查询只需引用相应月份的表。
    水平分割通常在下面的情况下使用:
    • 表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。
    • 表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。
    • 需要把数据存放到多个介质上。
        水平分割会给应用增加复杂度,它通常在查询时需要多个表名,查询所有数据需要union操作。在许多数据库应用中,这种复杂性会超过它带来的优点,因为只要索引关键字不大,则在索引用于查询时,表中增加两到三倍数据量,查询时也就增加读一个索引层的磁盘次数。
  2. 垂直分割
        把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。将原始表分成多个只包含较少列的表。 如果一个表中某些列常用,而另外一些列不常用,则可以采用垂直分割,另外垂直分割可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减少I/O次数。其缺点是需要管理冗余列,查询所有数据需要join操作。
  3. 库表散列
        表散列与水平分割相似,但没有水平分割那样的明显分割界限,采用Hash算法把数据分散到各个分表中.
分享到:
评论

相关推荐

    数据库中的水平分割和垂直分割

    数据库中的水平分割和垂直分割定义,谢谢您的阅读。

    数据库表分割技术浅析(水平分割/垂直分割/库表散列)

    数据库表分割技术包含以下内容:水平分割/垂直分割/库表散列.接下来将对以上分割进行详细介绍,感兴趣的朋友可以了解下,对你日后维护数据库是很有帮助的

    基于mybatis框架,数据库垂直、水平拆分及读写分离实现

    对spring整合mybatis的SqlSessionTemplate进行修改,对数据库数据库垂直、水平拆分及读写分离进行支持,并构建相应的模型。同时实现一致性哈希的分表策略。

    C#分离SQLServer数据库

    C#分离SQLServer数据库

    数据库地址分割,java实现

    地址分割,java实现,数据库相关,简单易学,课程设计相关作业,简单易学,希望能对各位有所帮助吧

    MSSQLServer数据分表(水平分割)

    ① 创建数据库 ② 在创建的数据库中添加文件组 ③ 在文件组中添加新的文件 ④ 定义分区函数 ⑤ 定义分区架构 ⑥ 定义分区表 ⑦ 定义代理作业,自动添加分区分割点 ⑧ 测试数据

    数据库设计--ER图

    数据库设计是指对于一个给定的应用环境,构造最优的... 3.3 模型优化:减少连接运算,垂直和水平分割,使用快照,减少数据占用空间 4 物理结构设计 5 数据库的建立和测试 6 数据库的运行和维护 7 数据库保护

    垂直分割数据窗口垂直分割数据窗口

    垂直分割数据窗口垂直分割数据窗口垂直分割数据窗口

    一个MySQL分库分表php类

    当一个表数据记录过大时就会出现性能瓶颈,而一般对应的解决办法是要么做分区表,要么分表,分区表就不说了,分表又分为垂直分割和水平分割,具体区 别请自行搜索。一般而言,分库分表属于水平分割,按照一定的规则...

    在Oracle数据库里用存储过程定期分割表

    Oracle数据库里存放着各种各样的数据,其中有一些数据表会随着时间的推移,越来越大。这样的信息又和时间紧密相关,有没有办法让这些日志表能到时间自动分割成历史年月的表呢? 本文介绍了用存储过程定期分割表的方法。

    SQL数据库分割拆分工具

    SQL数据库分割拆分工具,体积小,非常好用,可以把大SQL文件自动分割成不同大小文件,方便导入数据库,文件大小可以自己设定,一般虚拟主机数据库导入限制2-8MB, 几百MB数据库没法一次导入,可以用这个分割成NN个,...

    BSP空间分割简述

    原创文章,著作权属本人所有,本人也对一切言行负有责任,望大家能尊重劳动者的辛勤努力,不要侵犯我们这些底层劳动人民的知识产权。

    一个MySQL分库分表php类.zip

    当一个表数据记录过大时就会出现性能瓶颈,而一般对应的解决办法是要么做分区表,要么分表,分区表就不说了,分表又分为垂直分割和水平分割,具体区 别请自行搜索。一般而言,分库分表属于水平分割,按照一定的规则...

    论文研究-一种基于数据库的图像分割评价方法.pdf

    介绍了一个专用于机票工程项目中分割算法评测...图像数据库中的标准图像部分是基于主观视觉一致性的人工分割,具有评价的统计客观性。初步的应用证明该研究尤其是对算法的细微分析、提高整个工程有效性具有重要意义。

    RIP的水平分割及触发更新

    实验拓扑图+实验报告 本试验模拟企业网络场景...华为路由器默认开启RIP水平分割功能,当主动关掉路由器上水平分割功能时,检查路由器发送RIP路由条目的变化。手动开启毒性逆转功能,检查路由器发送RIP路由条目的变化。

    Sqlite数据库分割软件

    解决Android Raw目录单个文件大小1MB限制

    车牌字符分割垂直投影切分matlab程序

    车牌字符分割算法的垂直投影切分matlab程序

    分布式数据库习题.doc

    分布式数据库习题 第一章 1.1请用自己的语言... 局部数据库(LDB)是指从各个站点的角度出发,由局部数据库管理系统进行管理的数据 库,它由全局数据库的某种逻辑分割而成。 全局外模式 是全局应用的用户视图,是全局概

Global site tag (gtag.js) - Google Analytics