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

数据库分区

 
阅读更多

定义

  数据库分区是一种物理数据库设计技术,DBA和数据库建模人员对其相当熟悉。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。

分类

  分区主要有两种形式://这里一定要注意行和列的概念(row是行,column是列)

  水平分区(Horizontal Partitioning)

  这种形式分区是对表的行进行分区,通过这样的方式不同分组里面的物理列分割的数据集得以组合,从而进行个体分割(单分区)或集体分割(1个或多个分区)。所有在表中定义的列在每个数据集中都能找到,所以表的特性依然得以保持。

  举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录。(朋奕注:这里具体使用的分区方式我们后面再说,可以先说一点,一定要通过某个属性列来分割,譬如这里使用的列就是年份)

  垂直分区(Vertical Partitioning)

  这种分区方式一般来说是通过对表的垂直划分来减少目标表的宽度,使某些特定的列被划分到特定的分区,每个分区都包含了其中的列所对应的行。

  举个简单例子:一个包含了大text和BLOB列的表,这些text和BLOB列又不经常被访问,这时候就要把这些不经常使用的text和BLOB了划分到另一个分区,在保证它们数据相关性的同时还能提高访问速度。

  在数据库供应商开始在他们的数据库引擎中建立分区(主要是水平分区)时,DBA和建模者必须设计好表的物理分区结构,不要保存冗余的数据(不同表中同时都包含父表中的数据)或相互联结成一个逻辑父对象(通常是视图)。这种做法会使水平分区的大部分功能失效,有时候也会对垂直分区产生影响。

优势

性能的提升(Increased performance)

  在扫描操作中,如果MySQL的优化器知道哪个分区中才包含特定查询中需要的数据,它就能直接去扫描那些分区的数据,而不用浪费很多时间扫描不需要的地方了。需要举个例子?好啊,百万行的表划分为10个分区,每个分区就包含十万行数据,那么查询分区需要的时间仅仅是全表扫描的十分之一了,很明显的对比。同时对十万行的表建立索引的速度也会比百万行的快得多得多。如果你能把这些分区建立在不同的磁盘上,这时候的I/O读写速度就“不堪设想”(没用错词,真的太快了,理论上100倍的速度提升啊,这是多么快的响应速度啊,所以有点不堪设想了)了。

对数据管理的简化

  分区技术可以让DBA对数据的管理能力提升。通过优良的分区,DBA可以简化特定数据操作的执行方式。例如:DBA在对某些分区的内容进行删除的同时能保证余下的分区的数据完整性(这是跟对表的数据删除这种大动作做比较的)。

  此外分区是由MySQL系统直接管理的,DBA不需要手工的去划分和维护。例如:这个例如没意思,不讲了,如果你是DBA,只要你划分了分区,以后你就不用管了就是了。

 

 

 

orcale数据库分区实例: http://www.souzz.net/html/database/ORACLE/13283.html

分享到:
评论

相关推荐

    Oracle数据库分区管理.docx

    Oracle数据库分区管理是Oracle数据库系统中的一项高级特性,旨在优化大规模数据存储和处理的性能、可管理和可用性。自Oracle 8.0引入以来,这一技术不断演进,特别是在Oracle Database 11g 第2版中,它变得更加用户...

    MySQL数据库分区技术

    MySQL数据库分区技术,解决多并发问题,详细描述分区流程及操作步骤

    Oracle_数据库分区技术经验分享

    Oracle_数据库分区技术经验分享 很不错 讲的比较深入 很高端的

    深入解析Oracle与MySQL在数据库分区方面的显著差异

    数据库分区是管理大型数据库和提高查询性能的有效手段。Oracle和MySQL作为两款主流的数据库管理系统,在数据库分区方面各有特点和优势。本文将详细探讨Oracle与MySQL在数据库分区方面的不同之处,包括分区类型、创建...

    添加数据库分区.zip

    在SQL Server中,数据库分区是优化大型数据表性能的有效手段,尤其当表中存储的数据量达到百万甚至亿级时。数据库分区将一个大表逻辑上划分为多个更小、更易管理的部分,每个部分称为一个分区。这允许数据库管理系统...

    数据库分区与分片技术详解

    为了解决这一挑战,数据库分区(Partitioning)和分片(Sharding)技术应运而生。这两种技术都旨在通过分散数据来提高性能和可扩展性,但它们的实现方式和应用场景有所不同。 数据库分区和分片都是解决大数据和高...

    DB2 数据库分区的介绍

    ### DB2 数据库分区特性 (DPF) 的详细介绍 #### 一、DB2 数据库分区的概念与需求背景 **DB2 数据库分区**(Database Partitioning Feature, DPF)是IBM为满足大型数据库处理需求而设计的一项关键技术。随着企业数据...

    SQL数据库分区与镜像:技术对比与应用

    数据库分区和镜像是数据库管理中的两个关键领域,它们对于优化性能和保护数据安全起着至关重要的作用。通过合理地使用分区技术,可以显著提升数据库的可维护性和性能。同时,通过实施有效的镜像策略,可以确保数据的...

    深入解析:SQL数据库分区与性能监控的艺术

    本文将深入探讨SQL数据库分区的概念、策略、操作以及性能监控的方法和工具,并通过实际代码示例,展示如何通过分区和监控提升数据库的性能和可维护性 。 通过合理地设计分区策略和实施有效的性能监控,可以显著提升...

    SQL数据库分区与镜像:技术对比与应用策略

    数据库分区和镜像是数据库管理中的两个关键领域,它们对于优化性能和保护数据安全起着至关重要的作用。通过合理地使用分区技术,可以显著提升数据库的可维护性和性能。同时,通过实施有效的镜像策略,可以确保数据的...

    SQL数据库分区与性能调优:技术与应用深度解析

    数据库分区和性能调优是提高数据库性能的两种重要手段。分区通过分割数据来优化特定查询的性能,而性能调优则关注整个数据库系统的性能表现。在实际应用中,应根据具体的业务需求、数据访问模式和系统资源来选择合适...

    SQL数据库分区与审计:技术对比与应用策略

    数据库分区和审计是数据库管理中的两个关键领域,它们对于优化性能和保护数据安全起着至关重要的作用。通过合理地使用分区技术,可以显著提升数据库的可维护性和性能。同时,通过实施有效的审计策略,可以确保数据的...

    SQL中的数据库分区与存储过程:技术解析与应用实践

    本文将详细探讨SQL中的数据库分区与存储过程的区别、应用场景及代码示例。 数据库分区和存储过程是两种强大的技术,它们可以帮助数据库管理员和开发者优化数据库性能和数据处理效率。分区通过逻辑上分割数据来提升...

    SQL中的数据库分区与批处理技术:深入解析与应用

    本文将详细探讨SQL中的数据库分区与批处理的区别、应用场景及代码示例。 数据库分区和批处理是两种强大的技术,它们可以帮助数据库管理员和开发者优化数据库性能和数据处理效率。分区通过逻辑上分割数据来提升查询和...

    Oracle数据库分区优化技术研究与应用.pdf

    "Oracle数据库分区优化技术研究与应用.pdf" Oracle数据库分区优化技术是指通过将大型数据库对象分解为多个小的、易于管理的实体,以提高数据库性能、可用性和维护性的一种技术。该技术可以解决大型数据库对象管理...

    SQL数据库分区与注入攻击:技术对比与应用策略

    数据库分区和SQL注入攻击是数据库管理中的两个关键领域,它们对于优化性能和保护数据安全起着至关重要的作用。通过合理地使用分区技术,可以显著提升数据库的可维护性和性能。同时,通过实施有效的安全措施,可以...

    DB2 数据库分区特性(DPF)

    DB2数据库分区特性(DPF)是DB2数据库中一种重要的技术,通过该技术可以将数据分散存储在不同的物理分区上,同时保证数据的一致性和完整性,从而提升数据库的性能和可伸缩性。下面是关于DB2数据库分区特性(DPF)的...

    SQL数据库分区与安全性:技术对比与应用策略

    数据库分区和安全性是数据库管理中的两个关键领域,它们对于优化性能和保护数据安全起着至关重要的作用。通过合理地使用分区技术,可以显著提升数据库的可维护性和性能。同时,通过实施有效的安全措施,可以确保数据...

    深入理解SQL数据库分区与用户权限管理

    数据库分区和用户权限管理是两种强大的工具,它们可以帮助数据库管理员提高性能、简化数据管理和优化存储使用。理解它们之间的区别和适用场景对于有效地使用这些工具至关重要。通过合理地使用分区和用户权限管理,...

    SQL数据库分区与角色管理:深入理解与应用

    本文将详细探讨数据库分区与角色的区别、应用场景以及如何在实际环境中有效利用这两种技术。 数据库分区和角色是两种强大的工具,它们可以帮助数据库管理员提高性能、简化数据管理和优化存储使用。理解它们之间的...

Global site tag (gtag.js) - Google Analytics