求助
我的实体表是带一个日期时间戳的分区视图,数据量很大,为了方便查询出某一日期的时点切片数据,可不可以用表值函数来实现?因为查询某一日期的切片数据的sql有点复杂(要根据日期时间戳来判断),做成表值函数方便外部使用,但我觉得这样好像没法用到索引,因为数据量太大(千万级),恐怕会影响查询速度,请高人指点

解决方案 »

  1.   

    首先,表值函数你在调用出来之后,就已经是一个表了,所以你把结果插到临时表再做索引就可以了。
    其次,当数据量很大的时候,你要考虑你的函数执行次数,假设你的函数必须对表中每一行都要执行一次,那么结果可想而知:千万次。有时候编程的方便往往会导致性能的底下。
    最后,其实如果你做了分区,对千万级的数据来说速度都不会很慢。注意一下写法和利用好索引就可以了。