索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息;建立索引的目的是加快对表中记录的查找或排序。索引是把双刃剑,有利也有弊,在实际的项目中,是否使用索引,主要还是看利大于弊还是弊大于利.
索引的优缺点,如下:
优点:
显著提升数据检索速度;
加速表与表之间的连接;
充分保证数据的唯一性;(注:使用唯一索引)
降低分组和排序的时间;
缺点:
维护索引费时;
占用大量空间;
数据更新变慢;
大多数情况下,使用索引主要是冲着查询效率来的,这也是使用索引最直接最主要的好处;
SAP ECC是OLTP系统,每分每秒都有数据更新,非常忙碌,针对一些大表创建索引,开始可能会尝到些甜头,当对表中的数据进行增删改的时候,索引也被动态维护,这样就降低了数据的更新速度,同时又增加了额外的存储空间;如果项目中创建了一些索引,结果统计分析发现很少用到,针对这部分索引,应该对其删除;索引虽然能够加速查询,但实际项目中,也有可能使用索引反而使得查询更慢,这就需要BASIS检查索引是否丢失;在ECC中能不用索引,尽量不要使用,如果有BW系统,应考虑把ECC中慢的报表搬到BW中实现.
SAP BW是OLAP系统,所以模型中大量使用了索引,创建CUBE的时候,系统自动会针对CUBE创建索引,但是索引会使数据的更新变慢,为了提升数据的更新速度,SAP给出了标准的处理链,在更新之前,先将索引删除,待数据更新之后,在重新创建索引,这样就缩短了抽数时间,又提升了报表的查询效率.
SAP HANA是内存数据库,简化了BW系统,消除了默认索引,大大地节省了内存空间,同事HANA也提供手工创建索引功能,来加速查询.
图例注解:
1),SAP ECC系统.
Oracle的索引设计
索引占用大量空间,索引建得越多,占的表空间就越大,SAP IDE系统索引size截图(Per.Index size: 25%):
管理索引
诊断和分析索引是否丢失(索引也可能会丢失,从而会影响报表速度)
2),SAP BW系统.
简单的事务数据加载过程:
删除索引 -- > 捞数到CUBE -- > 删除索引
3),SAP HANA系统.
手工创建索引:
给表中的字段添加索引 表加索引好处
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章