解决方案 »

  1.   

    《高性能mysql》中文版第三版,262页-263页,讲分区表的时候说的。
    说这个时候用分区表时一种不错的方法,等效于粗粒度的索引。
      

  2.   

    问两个问题:关于B -Tree索引的。
    1:当数据量超大的时候,B-Tree索引就无法起作用了。
    2:如果数据量巨大,将产生大量随机I/O,同时数据库的响应时间将大到不可接受的程度。
    如何理解上面两个问题1)数据量超大的时候,B-TREE的树深度会变深,从根节点到叶子节点要经过的IO次数也会增大。当IO层数超过4层之后,就会变得很慢,其实4层IO,存储的数据都是TB级别的了,除非你的数据类型都是INT等小类型的。也不能说BTREE不起作用,只是说作用没那么明显了。2)数据量巨大,就一定是随机IO吗?这不一定的,如果都是主键查询,10E条记录都可以很快返回结果。当用二级索引来查询的时候,就变成随机IO了,响应时间是会变慢,这也要看数据的分布。另外他也没说存储介质,如果用SSD盘,随机IO比SAS的强100倍,性能也是不错的