我在一个房地产网站上工作,我有大型数据库,表中有250个字段,而表中有15万亿(150万)条记录。我想在网站中提供搜索功能,因此,我应该如何设计数据库,以便可以从这15万条记录中快速搜索属性。我要创建类似http://www.redfin.com/的网站。

所有15万条记录都应该放在一个表中进行搜索有效吗?

我不知道如何设计数据库?我正在使用PHP + Mysql,所以我也想问问哪种存储引擎(MyISAM,InnoDB等)更适合这种大型数据库处理?

请帮帮我。

最佳答案

您是说您的数据库由一个表组成吗?这就是单个表中250个字段对我的建议。如果是这样,我建议您咨询设计专家,以使您的架构标准化一些。

就性能而言,只要设计适当的键和索引,MySQL InnoDB就足够了。诀窍将是了解所需的查询并创建索引以使其尽可能高效。

您的表可能有250列,但是我敢打赌,大多数情况下,典型查询将在组合列之后进行。这些组合是您需要索引的。

1500万行并不是一个惊人的数字。您可能会发现规范化将大大减少该数目,因为您不会有太多的重复数据。真正的大型数据库以TB为单位。

10-04 09:53
查看更多