简答题 8.  说说COUNT(*)计算行数有哪些优化手段?
【正确答案】可以通过创建索引、主键索引、常数索引、常数压缩索引、位图索引、位图索引+并行、物化视图、结果集缓存等技术来优化,也可以根据业务规则来分析需求,是否只统计一条数据即可,或者根本用不到统计数据。其中,位图索引可以按很高密度存储数据,因此往往比B树索引小很多,前提是在基数比较小(列重复度比较高)的情况下。位图索引是保存空值的,因此可以在COUNT中利用。位图索引不太适合OLTP类型数据库。物化视图是应用在数据要求不怎么及时的场景下。若表频繁更新,则不适合缓存结果集。优化没有止境,对数据库了解越多,能想到的方法就越多。
【答案解析】