Oracle数据库计划要做到五戒-入门底子[Oracle防范]
本文“Oracle数据库计划要做到五戒-入门底子[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
众所周知,数据库计划的好坏直接关系到数据库运行的效率.按照笔者的经验,关于晋升数据库性能来说,公道的数据库计划,比进级服务器的硬件配置,还要来的有效.但是,笔者无论是在跟同事合作,又大概是在论坛上跟相关同行交流的时刻,老是会发现有些人有一些不好的数据库计划习惯,影响了数据库的性能,增添了数据库管理员的工作量.
笔者认为,为了晋升数据库的性能,在Oracle数据库计划的时刻,要做到五戒.
一戒:在小型表上不要成立索引.
毋庸置疑,索引可以提高数据库查询的效率.但是,俗话说,过之则不及.索引也必须用在合时的地方.假如索引设置不当,不但不会晋升数据库的性能,反而会起到相反的作用.如在小型数据库上设置索引,并且这些表用户更改的对比频繁.如员工基本信息表,就是简单的不超越十个字段.这个表用户需求常常的举行插入与删除操作.当举行这些变更功课的时刻,需求对索引举行保护.而这个保护的工作量大概比扫描表空间损耗更多的存储空间.从而不但起步到改进数据库性能的作用,反而是在拖后腿.
所以,在数据库计划的时刻,要做到的第一个戒条就是,不要再用户常常更改的小型表上成立索引.不然的话,是得不偿失的.
二戒:不要用用户的键.
如我们在计划一个ERP系统数据库的时刻,有一张贩卖订单表.在这张表中,有一个贩卖订单号.那么我们可否操纵这个单号作为关联其他表的外键呢?如在贩卖出货单上,需求关联到贩卖订单.这个时刻,我们可否把贩卖订单单号作为跟出货单关联的关键字呢?
答案是可以的,但是不是最优挑选.我们可以看一下ERP的后台数据库.在贩卖订单表上,除了贩卖订单号这个唯一表示贩卖订单记录的字段外,还有一个字段就是贩卖订单ID.在前台的出货单界面上固然显示的是贩卖订单号码,但是,在后台却存储着的是贩卖订单ID.也就是说,数据库不是以用户的键作为主键,而是采取了数据库自动保护的单据ID这个字段.
为什么要这么计划呢?这就是笔者本日要谈的第二个戒条,不要用用户的键.普通情形下,不要挑选用户可编辑的字段作为外键大概主键.因为这会增添我们额外的工作量.
假如我们把贩卖订单号作为外键的话,则在成立贩卖订单记录后还要对用户编辑字段的行为施加限制,如判断能否违反外键的强迫性法则等等.有些系统把贩卖订单号设置为外键的话,则常常是把这个字段设置为系统自动编号,并且用户不可更改.但是,在实际工作中,企业员工常常需求编辑这个字段.员工需求编辑这些不可编辑的字段时系统贫乏机动性的缺陷就表现出来了.并且,当用户输入完数据保存的时刻再提醒记录不符合要求,则也不是很人性化的计划.
别的,我们还必须为此计划一些检测和改正键冲突的办法.如考虑这个外键的直能否在其他数据表中存在等等.固然这普通只需求我们花点时间便可以搞定.但是从数据库性能上来说,这个代价就对比大了.再则,如此的话,就不可以很好的把系统的基本数据跟企业员工的数据实现很好的断绝.
所以,笔者认为,不要用用户的键来作为我们数据库计划的主键或则外键.大概说,数据库计划时用到的键要让数据库系统举行自动保护,用户不得更改这个保护法则.
以上是“Oracle数据库计划要做到五戒-入门底子[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |