`
jormen_chen
  • 浏览: 3469 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据库表分割

阅读更多
有时对表做分割可以提高性能。表分割有两种方式:  
  1水平分割:根据一列或多列数据的值把数据行放到两个独立的表中。
  水平分割通常在下面的情况下使用。
  表很大,分割后可以降低在查询时需要读的数据和索引的页数,同时也降低了索引的层数,提高查询速度。
  表中的数据本来就有独立性,例如表中分别记录各个地区的数据或不同时期的数据,特别是有些数据常用,而另外一些数据不常用。
  需要把数据存放到多个介质上。
    水平分割会给应用增加复杂度,它通常在查询时需要多个表名,查询所有数据需要union操作。在许多数据库应用中,这种复杂性会超过它带来的优点,因为只要索引关键字不大,则在索引用于查询时,表中增加两到三倍数据量,查询时也就增加读一个索引层的磁盘次数。  
  2垂直分割:把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。
  如果一个表中某些列常用,而另外一些列不常用,则可以采用垂直分割,另外垂直分割可以使得数据行变小,一个数据页就能存放更多的数据,在查询时就会减少I/O次数。其缺点是需要管理冗余列,查询所有数据需要join操作。
分享到:
评论

相关推荐

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

    数据库表分割技术是应对大数据量和高并发场景的有效策略,主要分为水平分割、垂直分割和库表散列三种方式。 1. **水平分割** 水平分割是指按照记录的某一属性或条件,将一个大表的数据分散到多个表中,每个子表的...

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

    垂直分割,是指将表的列根据其使用频率或相关性分割成两个或多个表,每个表包含一部分列。这种方法旨在优化查询性能,减少数据行的大小,从而降低I/O操作。 **优点:** - **减少I/O**:通过减少每个数据行的大小,...

    weizmann分割图像数据库

    Weizmann分割图像数据库是一个由Weizmann研究所团队创建的专业资源,主要针对计算机视觉和机器学习领域的图像处理和分析任务。这个数据库包含了丰富的图像数据,特别设计用于图像分割的研究,也就是将图像中的不同...

    数据库地址分割,java实现

    在IT行业中,数据库地址分割是常见的数据处理任务,特别是在Java编程环境下。这涉及到从数据库连接字符串中提取必要的信息,如主机名、端口号、数据库名等。以下将详细讲解如何在Java中实现这一功能,以及它在课程...

    催米技术部研发团队技术分享:mysql主从复制&分区技术&优化.ppt

    1. 大表拆小表:将一个大型数据库表分割成多个小表,以提高数据库的性能和可扩展性。 2. 分区技术:使用 MySQL 的分区技术来组织数据,以提高数据库的性能和可扩展性。 MySQL 主从复制和分区技术是提高数据库性能和...

    数据库表/视图的创建与维护实验

    ### 数据库表与视图的创建与维护:深入解析与实践 #### 实验核心知识点概览 本实验报告聚焦于数据库表与视图的创建与维护,尤其在Sybase数据库环境下进行深度探索。核心知识点包括: 1. **E-R图到逻辑模式的转换*...

    用于图像理解分割的数据库

    本数据库专为图像理解分割提供了一个宝贵的资源,包括两个部分:Sowerby数据库和Google数据库,总计212张图片。 首先,我们来详细探讨“图像理解”。图像理解是指计算机系统通过分析图像内容,识别出图像中的对象、...

    数据库表PPT学习教案.pptx

    数据库表是数据管理和存储的核心,它是关系数据库模型的基础。按照关系数据库理论,一个二维表就是一个关系,称为表(Table)。数据库则是一个表的集合,这些表共同协作完成特定任务。数据库不仅存储表,还能在表间...

    Oracle数据库表与视图

    分区表允许大型表被分割成较小的部分,便于管理和提高查询性能;对象表则允许将复杂的数据结构如对象存储在表中。此外,Oracle8i还引入了临时表,这些表在会话结束时自动清除,适用于临时性数据的存储。 创建表使用...

    SQL数据库分割拆分工具

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

    mysql分表分库demo

    MySQL 分表分库是指将大型数据库表分割成多个小表,以提高数据库的性能和可扩展性。随着业务数据的增长,数据库表中的数据不断增加,如果不加以控制,数据库的性能将会下降,影响业务的发展。 在 MySQL 中,分表分...

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

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

    考试系统数据库表设计.doc

    数据分区是指将大型数据库分割成多个小的、独立的数据库,以提高数据存储和管理的效率。在考试系统中,数据分区可以根据不同的考试项目、考生信息、题库信息等方面进行分区。 二、数据模型 数据模型是指数据库中...

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

    在Oracle数据库中,面对随着时间增长的数据表,特别是那些与时间紧密相关的日志表,定期分割表是一种有效的管理策略。这有助于优化性能,提高查询效率,同时保持数据的整洁和易于管理。以下是一些关于如何使用存储...

    关于数据库表拆分.docx

    相比之下,水平拆分是将同一表的数据分割到多个数据库中,所有数据库的表结构相同。水平拆分更适用于数据增长快速的情况,例如又拍网用户上传的照片。 确定拆分规则是实施水平拆分的关键。又拍网选择了根据用户进行...

    oracle数据库表设计.pptx

    这些特性保证了基本表作为存储原始数据的核心组件,具有不可分割的数据单元、存储基础数据、能够衍生出所有输出数据,以及结构相对稳定的特点。 在实际设计中,虽然通常推荐满足更高的范式标准以减少数据冗余,但...

    如何设计数据库表.pdf

    在设计数据库表时,遵循正确的原则和方法至关重要,因为这直接影响到数据的完整性、一致性和易用性。本文主要讨论了如何设计一个有效的关系型数据库,重点介绍了数据库设计中的范式理论。 首先,设计数据库表的起点...

    设计高性能数据库[优化数据库结构]

    数据库表分区是一种将大表分割成较小部分的技术,可以进一步提高查询效率和维护管理的便利性。根据不同的需求,可以采用垂直分表和水平分表两种方法: - **垂直分表**:将表中的字段按功能或类型划分,将大文本字段...

Global site tag (gtag.js) - Google Analytics