如何提高大数据量表的select count

作为新员工,根据Role的不同会被自动加入一些公司内部的邮件组中,这在Oracle称为helpinglist。 比如helpperf就是关于Oracle数据库性能问题的邮件组,平时没有自己工作的时候看看这些往来的技术邮件也是挺有意思的。 helpperf今天上午就有一个关于select count(*) from a如何提高性能的讨论,a表中有44 million的数据。 有人提出的建议就很有实验意义,可惜今天没有可以用于实验的数据库环境,否则就测试一下了。 So in order to speed it up you need to read less blocks and do it in parallel … you need to find the smallest column that has a not null constraint … create a global partition index by hash … 也就是对于一个有索引的大数据量表进行select count(*),能够提高性能的就是读最少的index block并且并行,那么我们可以在一个最小的非空列上创建一个hash类型的全局分区索引。这样index fast full scan就有可能提高速度了。…