我的是数据仓库表,为之后每天的cube更新用的,每次都要select很多个字段,之前在日期和筛选字段都建过索引了,但是因为大表并不是做单纯的某个字段查询,所以速度还是很慢。因为在实际环境,怕影响正常使用,暂时没有做分区操作,将近两亿的大表分区起来应该也要耗费很长时间吧?
我有几个问题不明白,想问下:
1.如果对大表进行分区操作,会不会影响后面的cube更新数据?我看好像是逻辑上分了多个,实际查询还是一个表的。
2.因为多数情况是按时间查询,我想按年份分区,一年一个分区,但是有些年份的记录很少,这样分会不会不合理呢?有影响吗?
3.因为当前已经在大表上建立了聚集和非聚集索引,分区的时候要怎么操作?先删除索引么?分区之后还需要为每个分区创建索引么?
除了以上的办法,是否还有其他解决方案呢,请高手们不吝赐教。
4 个解决方案
#1
2亿数据的表优化, 估计得考虑多方面了.
包括表查询语句的优化, 索引, 分区等, 甚至如果涉及到了jion 的查询, 都可考虑某些字段的冗余设计.
分区方案在多硬盘,将分区放入不同的磁盘, 这样可以优化磁盘I/O的瓶颈问题,到以后维护, 比如三年前的数据我不要了, 直接删除对应的分区就可以了.
看你的描述, 你只是数据总量累积到很大了, 并不是并发读写很大, 其实你也可以考虑分表来存, 比如一年一个表好了,
如果涉及到跨年的数据查询, 你查询语句复杂点, union 链接两个表的查询结果集了.
包括表查询语句的优化, 索引, 分区等, 甚至如果涉及到了jion 的查询, 都可考虑某些字段的冗余设计.
分区方案在多硬盘,将分区放入不同的磁盘, 这样可以优化磁盘I/O的瓶颈问题,到以后维护, 比如三年前的数据我不要了, 直接删除对应的分区就可以了.
看你的描述, 你只是数据总量累积到很大了, 并不是并发读写很大, 其实你也可以考虑分表来存, 比如一年一个表好了,
如果涉及到跨年的数据查询, 你查询语句复杂点, union 链接两个表的查询结果集了.
#2
分区并不一定能提高你的查询速度.
#3
@ yangb0803 嗯,我也看到很多人说了分区并不一定能提升查询性能,只是便于维护管理。现在主要问题是前期表设计很粗糙没怎么考虑后期数据量增长到这么大会产生的问题,现在重新修改表结构不太可能了,因为这个大表还是作为数据源给其他视图还有cube用的,如果要分割成多个小表,改动也是很大了。头疼。。。
#4
http://mp.weixin.qq.com/s?__biz=MzAwMzI3Njc1MA==&mid=401674218&idx=1&sn=f2aefe372dee874a67bc8fee8d0a1f0a&scene=1&srcid=0407mxoy0bQcXLqSw4OYyCE5#rd
今天刚好在微信看到一个这个,不知道是否对你有用,可以看下
今天刚好在微信看到一个这个,不知道是否对你有用,可以看下
#1
2亿数据的表优化, 估计得考虑多方面了.
包括表查询语句的优化, 索引, 分区等, 甚至如果涉及到了jion 的查询, 都可考虑某些字段的冗余设计.
分区方案在多硬盘,将分区放入不同的磁盘, 这样可以优化磁盘I/O的瓶颈问题,到以后维护, 比如三年前的数据我不要了, 直接删除对应的分区就可以了.
看你的描述, 你只是数据总量累积到很大了, 并不是并发读写很大, 其实你也可以考虑分表来存, 比如一年一个表好了,
如果涉及到跨年的数据查询, 你查询语句复杂点, union 链接两个表的查询结果集了.
包括表查询语句的优化, 索引, 分区等, 甚至如果涉及到了jion 的查询, 都可考虑某些字段的冗余设计.
分区方案在多硬盘,将分区放入不同的磁盘, 这样可以优化磁盘I/O的瓶颈问题,到以后维护, 比如三年前的数据我不要了, 直接删除对应的分区就可以了.
看你的描述, 你只是数据总量累积到很大了, 并不是并发读写很大, 其实你也可以考虑分表来存, 比如一年一个表好了,
如果涉及到跨年的数据查询, 你查询语句复杂点, union 链接两个表的查询结果集了.
#2
分区并不一定能提高你的查询速度.
#3
@ yangb0803 嗯,我也看到很多人说了分区并不一定能提升查询性能,只是便于维护管理。现在主要问题是前期表设计很粗糙没怎么考虑后期数据量增长到这么大会产生的问题,现在重新修改表结构不太可能了,因为这个大表还是作为数据源给其他视图还有cube用的,如果要分割成多个小表,改动也是很大了。头疼。。。
#4
http://mp.weixin.qq.com/s?__biz=MzAwMzI3Njc1MA==&mid=401674218&idx=1&sn=f2aefe372dee874a67bc8fee8d0a1f0a&scene=1&srcid=0407mxoy0bQcXLqSw4OYyCE5#rd
今天刚好在微信看到一个这个,不知道是否对你有用,可以看下
今天刚好在微信看到一个这个,不知道是否对你有用,可以看下