热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle段管理方式设为自动,Oracle数据库段管理有技巧(一)

导读:在Oracle数据库中,段往往被用来存储特定逻辑对象的所有数据。如当建立数据库表或者索引时,Oracle就会为这些对象分配存储空间&

导读:在Oracle数据库中,段往往被用来存储特定逻辑对象的所有数据。如当建立数据库表或者索引时,Oracle就会为这些对象分配存储空间,以存放他们所需要的信息。段是由一个或者多个区组成的。不要看段是Oracle数据库中一个不起眼的角色,其实,在其中,仍然隐藏着许多不为人知的管理技巧。若数据库管理员能够掌握这些内容,或许,其工作会变得轻松许多。

技巧一:对大表执行分区段

表分区段用于存储分区表中某个分区的数据。如把某一个表分为几个区,每个区就对应一个表分区段。这么设置是可行的。因为根据段管理规则,在一个表空间上可以包含一个或者多个段,但是,一个段只能够存放在一个表空间上。

在实际工作中,我们经常会碰到这种情况。如在一个大型零售企业的信息化管理系统中,一张销售表的年数据总量可能会达到几亿条,其数据总容量可能会有近十个G。如果平均分配到每个季度的话,则就有2.5G。此时,如果不对这张销售表进行分区分段管理的话,则这一年的销售记录都会存储在一张表中。此时,如果需要做年度分析的话,那么数据库的性能将会受到很大的影响。如现在用户想知道六、七月份空调的销量变化情况,此时数据库就需要扫描整个数据表中近10G的纪录。这需要用户等待比较长的时间。

但是,此时若数据库管理员在数据库设计的时候,就能够预计到这种情况,对销售表进行分区分段管理。即把这张销售表分区段管理,也就是说,把销售表分为四个分区段,每个季度一个区段。如此的话,若要统计六、七月份的空调销售情况,则只需要查询5G的数据即可,其数据查询量将近减少了一半。显然,在实际工作中,如果对大表进行分区段管理,则可以大大降低I/O次数,并有效提高数据库查询性能。若销售量大的话,甚至可以把销售表分为十二个区段,一个月对应一个区段。

所以,通过使用分区选项,采用表区段管理大表,可以将一张大表的数据部署到多个不同的分区段中。通过这种管理方式,可以降低I/O(输入输出)读取次数,最终提高I/O性能。这是数据库优化专家在提高数据库性能时,经常用到的一种手段。特别是在零售行业的信息化管理系统中,经常被用到。

技巧二:合理利用索引组织表段

在Oracle数据库中,跟索引相关的表段主要有三个,分别为索引段、索引分区段与索引组织表段。

索引段主要用来存储索引数据。当数据库管理员建立索引时,数据库系统就会自动为索引建立相应的索引段,其名字跟索引的名称相同。在对索引段进行管理时,有一个基本的原则,即一个索引段只能够存放在一个表空间中。

索引分区段主要用来存储分区索引某个分区的数据。他跟笔者上面所说的表分区段类似。每个分区对应一个索引分区段。通过使用分区选项可以将大索引的数据部署到几个不同的分区段中,从而达到降低输入输出次数、提高数据库性能的目的。不过其在管理中,比表分区段多了一个限制条件,即索引分区只能够建立在分区表上,而不能够建立在普通表上。其他的管理跟分区表段类似,就不再重复阐述了。

索引组织表是以B数结构来组织表数据的,其对应的段就是索引组织表段。其管理方式跟索引段类似。当数据库管理员建立索引时,就会自动创建这个段,用来保存相关的数据。

现在摆在数据库管理员面前,就有一个难题。在什么时候用索引段,什么时候用索引组织表段,又在什么时候采用索引分区段呢?为此,笔者给出一个建议,供大家参考。

通常情况下,如果表中的数据经常需要引用主键列莱检索的话,则可以考虑建立索引组织表,即通过索引组织段来管理。因为如果建立索引组织表段,则表和表主键索引的数据会存放在索引段中。从而提高查询的速度。而在普通表中,表与索引数据分别存放在表段与索引段中。这就是两者最本质的区别。另外需要提醒的是,如果数据库管理员建立索引组织表时,数据库开发人员必须要定义主键列。否则的话,就会以失败告终。

而如果索引比较大的话,则可以将大索引的数据部署道几个不同的分去段中,这可以有效提高数据库的性能。

这就是我要为大家介绍的Oracle数据库段管理有技巧,这只是一部分,先为大家介绍到这,以后还会继续为大家介绍。

【编辑推荐】

【责任编辑:迎迎 TEL:(010)68476606】

点赞 0



推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了在Oracle数据库中创建序列时如何选择cache或nocache参数。cache参数可以提高序列的存取速度,但可能会导致序列丢失;nocache参数可以避免序列丢失,但在高并发访问时可能导致性能问题。文章详细解释了两者的区别和使用场景。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 在很多数据库中都存在一个自动增长的列,如果现在要想在oracle中完成自动增长的功能,则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。语法:CREAT ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了一个误删Oracle数据文件导致数据库无法打开的问题,并提供了解决方式。解决方式包括切换到mount状态、离线删除报错的数据文件等。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
author-avatar
敦恒
招聘!招聘!招聘! 联系方式:56226135/shiziqian@hy9z.com 请优先邮件联系~谢谢!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有