在Oracle数据库中创建合理的数据库索引

在Oracle数据库中创建合理的数据库索引
笔者认为,三个合适的指标应该创建一个索引,即,创建相应的表中指标的适当数量和适当的列。虽然这可以概括在一个句子中的优化指标的基本准则,它是数据库管理员的努力实现这一目标的必要条件。具体来说,要做到这三点,有几个要求如下。
首先,根据表的大小创建索引。
虽然指数是创建的表,它可以提高查询的效率,但是数据库管理员需要注意的是,该指数还需要一定的开销。这并不是说所有的表的索引,使数据库的性能得到改善。这认识是错误的。相反,如果指数是不管37二十一的所有表创建的,它将对数据库的性能造成负面影响。因为滥用指数在这个时候的开销可能远远大于这一性能提升。所以我认为,数据库管理员需要第一次做,指数相应的表,而不是索引的所有表。
在一般情况下,不需要创建一个较小的表的一个索引。例如,在ERP系统的数据库,部门表用于存储企业部门信息。一般企业的部分也有十多个,最多不超过一百个。这100个记录可能的人会更多。但对于电脑,这让他插齿是不够的。因此,它是没有必要建立类似的小桌子的一个指标。因为即使指数的建立,其性能将大大提高,反向索引的开销,如维护成本,是比这更大的。也就是说,这显然是违反常识的付出比得到的要多。
此外,它是不是一定要建立一个超大型表的一个索引。虽然有些桌子很大,记录的数量是非常大的。然而,这是适当的指数在这个时候表。如果系统中有一个表,它主要是用来保存一些的改变数据库中的信息。这些信息通常只用于数据库管理员。此表进行索引在这个时候是不合适的。因为这张桌子是很少使用的,只需要看问题的时候了。其次,即使你看着它,不会有很多需要查询的记录。它可能是在上周的最新更新。对于一些超大型表,索引的建立,有时不能达到预期的效果。和索引在表的索引,其索引比普通表大得多。所以,在最后,是否指数大表,我认为,主要是两个方面。一是注重,常常要在这个大表格查询记录数。总的来说,这是没有必要的指标,如果你经常需要查询的数据不超过10%到15%。由于在这一次构建指标的开销可能比性能的改善大得多。这一比例只有实证数据。如果数据库管理员需要博士噢,更准确的结论,那么它需要进行测试和分析,数据库管理员需要测试全表扫描时看它是长或短于时间后指数建立查询。如果是长期的,有必要建立一个指标,但如果没有,这表明全表扫描的速度快,这是没有必要在这个时候建立索引。
一般来说,在考虑是否应该建立一个索引表,它一般是一个小表进行索引的必要。和声明,实际情况需要分析。简单,简单,可按近似比例确定。如果它是准确的,全表扫描性能分析可以确定数据库的性能可以得到改善后的指标建立预期。
二、根据列的特性创建索引。
该列的特征不同,与指数产生的影响是不同的。数据库管理员需要了解哪些列创建索引可以起到事半功倍的效果,同时也需要知道如何创建索引,而不是一系列的小的效果是什么。这有助于他们理解的领域索引。
根据我的经验,这是创建具有以下特点指标列非常有效。几列不重复的内容,尤其是对列定义独特的约束。在这些列索引往往可以有很好的效果。例如,当一些空值和非空值的列,如果用户需要查询的所有列都不是空值的规律,这是更好地为他们设定的指标。如果你经常需要多表连接查询,在连接的列建立索引可以达到事半功倍的效果。
可以看出,适当的指标的设置不仅是数据库的设计结构有关,还与企业的业务。为此,一些软件包、数据库管理员已经开始做优化指标。但随着后来经济数据的增加,该指数的影响越来越多的折扣。这主要是因为该索引优化的效果。所以我建议所有的数据库管理员,即使他们使用大牌软件公司的软件包,还需要一段时间,比如一年,优化数据库的索引,被去除,调整的调整,以提高数据库的性能。
例如,在数据库中,用于保存用户信息表,有一个领域,身份证号码,这是唯一的领域。在数据库设计的时候,该指数为这一领域创造的。但当数据库投入使用,用户不输入用户的ID号,平时也基本不按这个号码进行查询,该身份证号码索引字段不仅不会提高数据库的查询性能,而成为鸡肋当月记录数月。这些列有许多空值,而不总是查询所有非空值的列,数据库管理员必须确定明确的指标对这些列。
因此,索引的优化和调整是一个动态的过程,并不是说数据库设计不需要调整,数据库管理员经常需要根据记录变化,进行适当的修改,以提高索引的效果。
三。在一个表上创建多少索引是合适的
虽然没有限制的指标数量上桌,越多越好。也就是说,1 + 1 > 2的往往不是建立在创建索引。有时,更创建索引,它可能会得到相反的效果。然后在一个表中,有创造了多少指标没有明确的标准。相反,数据库管理员需要判断的基础上,实际使用的信息记录在数据库中。
一般来说,越是表的索引,查询将更快。然而,该表的更新速度会降低,这主要是因为表的更新速度,如在表中插入记录,与指数的增加而增加,这主要是由于需要更新相关的索引信息更新记录。为此,有必要建立更新的速度和查询速度之间的平衡,这是适合多少指标表中创建的。对于一些数据仓库或决策为基础的数据库系统,它主要用于查询相关记录往往反在数据库初始化。在这一点上,我一点指数的设置,可以提高数据库的查询性能。同时,由于记录不更新的非常多,所以指数比较多,也不会影响更新速度。即使你需要在开始导入大量的数据,您可以禁用索引的第一个。当数据是进口的,指数再启用。这可以用来降低指标的数据更新的影响。相反,如果那些表中经常需要更新的记录,如一些事务性应用系统,数据更新操作是很常见的。在这一点上,如果在表中设置了太多的指标,更新的速度会受到影响。因为更新操作比较频繁,对它的负面影响比效率更大的查询。在这一点上你需要限制索引的数量,只在一些必要的字段建立索引。
笔者经常设置索引列的基于这些表时使用的数据库是平时优化。可以查询相关的动态视图,看看这个表的操作是一个大比例的更新操作(包括更新、删除、插入等),或查询操作的比例大。当指标过多影响了更新操作的速度,数据库管理员需要禁用一些指标首先要提高数据库的性能。
总之,建立适当的指标对相应的表和相应的列。这句话包含了很多的意思,和上面的内容只是内容的一部分。俗话说,师傅领进门,和行为取决于他自己。笔者这里指的是一些具体的指标。优化需要读者的经验和总结在日常工作。

tag:数据库索引数据库中电脑软件Oracle

相关内容