就随便说说InnoDB,今天在拿到《MySQL技术内幕-InnoDB存储引擎》的时候就用了几个小时快速的过了一遍,基本上算是对我看《高性能MySQL》的一个补充,当然几个小时看这本讲原理的书还是远远不够的,不过用上我大一学的速读术过一遍还是没有问题的,其实《高性能MySQL》这本书我也只看了架构设计,并发,schema和优化,其他的我暂时并没有时间涉足,确实网上的很多中文的资料真的非常的落后,一些教材甚至还是停留在MySQL5.5以下版本,介绍InnoDB时候还是说它不支持全文索引,那么我觉得既然InnoDB已经具备几乎所有必备的商业优势就没有理由不选它作为存储引擎,InnoDB不支持和性能不好的功能有四个,不支持geospatial support,Cluster database support,compressed data;storage cost(space used),bulk insert speed非常高,memory cost属于中等,不得不承认InnoDB在一些方面还是有很多欠缺的,所以也注意到作者特意说到合理的选择和配置存储引擎才能发挥MySQL的最大功能,MySQL是一个完整的数据库,MySQL数据库实例是指运行的程序,下面放一张MySQL的体系结构图:
这张图其实比高性能MySQL要详细的多了,这里要注意的是存储引擎是基于表的而不是数据库,MySQL这种引擎插件式的设计方式看起开真的很舒心~ 每个部件松耦合。总之高性能MySQL对于InnoDB引擎部分讲的很少,大部分都是以如何更高效的使用MySQL为主题进行展开,也提到了索引的hash和B+树算法而这也是为了方便读者理解为什么这样的索引更高效而设计的,而这本说InnoDB的书就不一样,它深入到存储引擎与表的关系进行原理性的论述,这就是高手和普通人之间的差距吧,美食家原理研究几天就知道为什么这样好吃,大厨需要多年的经验才能总结出可能怎样烧好吃~