2011-12-17 24 views

回答

0

创建与维护的关系

根据且仅限于要求

-1

大表的文件,由谷歌公布选择表中的字段InnoDB存储引擎所有的表,可能会难以阅读。希望我的回答能帮助你开始理解。

在旧时代,存储数据按照行RDBMS中,一个记录一行,1,2,3,4,5 .....

然后,如果你想找到的记录5,它的确定,数据库会在B +树(或类似的东西)中寻找记录5的地址,为你加载它。

但是,噩梦是当你想要获得具有列“用户=迈克尔”的记录时,数据库无法找到每个记录来检查用户是否是“迈克尔”。

大表有不同的方式来存储数据。它通过倒置表来存储所有的列。当我们想要找出满足“user = Michael”的所有记录时,它通过B +树或散列表将它作为一个键找到,并获得倒排表的地址,其中存储了满足所有记录的列表。

也许一个好的起点是Lucene,一个开源的全文搜索引擎,完全实现了大表原则。

注意,倒排表不是RDBMS中的一个基于列的存储。他们是不同的,请记住这一点。