有一个表 T 含100亿条记录select * from t where ... 该语句会遍历全表100亿记录,最终结果假定为100条返回记录.
如果没有用分区表,T表数据存储在一个磁盘上,这条语句会花: 5分钟请问T表分区,是否会如下所述:
如果采用分区表,T表数据平均存储在100个磁盘上,那么这条语句理论上只花约: 5分钟/100,
原因在于,同样遍历100亿条记录,如果一个磁盘会很慢,如果T表分散存储在100个磁盘上,那么100个磁盘同时遍历记录,自然会成倍提高查询速度(当然CUP想象无限快)
以上描述是否正确,请高人指点

解决方案 »

  1.   

    以下两点是从官方说明里截出来的,应该说可以得出你的结论:
    ·         一些查询可以得到极大的优化,这主要是借助于满足一个给定WHERE   语句的数据可以只保存在一个或多个分区内,这样在查找时就不用查找其他剩余的分区。因为分区可以在创建了分区表后进行修改,所以在第一次配置分区方案时还不曾这么做时,可以重新组织数据,来提高那些常用查询的效率。
    ·         通过跨多个磁盘来分散数据查询,来获得更大的查询吞吐量。