none
关于索引视图 RRS feed

  • 问题

  • 在OLAP库中用索引视图,是否可以替代汇总计算后的实际表,如果不能替代,性能上会不会有很大的差异的,如果能替代,可以减少很多计算量且还还能保证数据的实效性

    tk

    2015年9月12日 23:40

全部回复

  • View is based on table even with index, so it can't replace table at all.
    2015年9月13日 2:29
  • If there are lot of data changes in table with indexed view, performance will be affected.
    2015年9月13日 2:34
  • 基表有更改,索引视图也会更改,所以基表如果存在读写阻塞,索引视图一样会遇到读写阻塞

    比如,会话一你向基表插入一条数据,会话二 你查询基表全部数据,这时候有阻塞

    你用索引视图来解决

    会话一你向基表插入一条数据,索引视图一样也要插入一条数据,会话二 你查询索引视图全部数据,那么索引视图也要插入数据和查询视图数据两个会话一样阻塞

    解决不了!


    Love SQL

    2015年9月13日 9:59
  • 对于查询来说,可以代替。但是要注意的是,插入数据时,索引视图的开销非常大。所以使用索引视图的意义不是很大。

    除非你对数据的时效性要求较高。


    想不想时已是想,不如不想都不想。

    2015年9月13日 16:01
    版主
  • 基表有更改,索引视图也会更改,所以基表如果存在读写阻塞,索引视图一样会遇到读写阻塞

    比如,会话一你向基表插入一条数据,会话二 你查询基表全部数据,这时候有阻塞

    你用索引视图来解决

    会话一你向基表插入一条数据,索引视图一样也要插入一条数据,会话二 你查询索引视图全部数据,那么索引视图也要插入数据和查询视图数据两个会话一样阻塞

    解决不了!


    Love SQL


    不懂不要瞎咧咧,知道啥是OLAP不?

    想不想时已是想,不如不想都不想。

    2015年9月13日 16:02
    版主
  • 通常报表系统(OLAP)和业务系统(OLTP)是隔离的,业务系统中的报表,就算汇总计算,通常是也限制在一个小数据范围,涉及大量数据汇总的,通常是把业务数据增量抽取到专门的报表系统服务器上去做,而且报表系统中,历史数据通常是汇总好的

    2015年9月14日 1:38
  • 汇总计算出基表也是一个很耗时的操作,所以才会想用着索引视图来替代一部份,至少,可以简化ETL里转换汇总的计算量同时保证一定的时效性,至于说插入数据时的开销,打算是尽可能使用增量新增,本身对基表反复高频的删除、插入、更新本身也很耗时

    tk

    2015年9月14日 6:08
  • 数据本身就是抽取过来的,但为了作到比较高的时效性,所以并不是一天一取一算,而是一直有在小批量的在抽,所以想尽可能减少事实表的重算,冒似只有索引视图可以是一个折中的选择

    tk

    2015年9月14日 6:11
  • 是指的视图本身引用的基表关联了很多,且有大量数据变化时,会影响性能么,这个性能影响的是针对基表的INSERT or update 还是说两者都影响,那对于在OLAP里对汇总表对于高频次的数据抽取、转换、清洗、汇总是否有更有效率的办法或是建议的

    tk

    2015年9月14日 6:17
  • Do you use ssas? It's designed for olap aggregation.
    2015年9月14日 13:21
  • insert /update/ delete都有影响,这是很显然的。

    SSAS的Realtime OLAP或者准实时的OLAP最符合你的需求,不过对你来说可能需要学习很多的新技能。所以我建议你就凑合着用Indexed View算了。


    想不想时已是想,不如不想都不想。

    2015年9月14日 14:25
    版主