2010-01-11 108 views
0

我正在一个房地产网站工作,我在桌上有大约250个字段的大型数据库和表中的15个万字(150万)记录。我想在网站中提供搜索功能,那么我应该如何设计分贝,以便我可以从这15个十万条记录中快速搜索属性。我想让网站像http://www.redfin.com/如何处理大型数据库?

是否有效所有15万记录应该在一张表中搜索?

我不明白我应该如何设计数据库?我使用的是PHP + Mysql,所以我也想问一下这种类型的大型数据库处理首选哪种存储引擎(MyISAM,InnoDB等)?

请帮帮我。

+3

“15lacks”是什么意思?我以前从来没有见过。 – duffymo 2010-01-11 10:45:18

+1

什么?一张250列的桌子?为什么? – 2010-01-11 10:45:24

+2

@duffymo:印度缺少一百万IIRC – Jamiec 2010-01-11 10:46:08

回答

2

你是说你的数据库由一个表组成?这就是单个表格中的250个字段给我的建议。如果是这样,我建议咨询一位设计专家,以使您的模式标准化一点。

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

你的表格可能有250列,但我敢打赌典型的查询大多数时候会在列组合之后出现。这些组合是你需要索引的。

1500万行不是一个惊人的数字。你可能会发现规范化会使这个数量减少很多,因为你不会有太多的重复数据。真正的大型数据库以兆兆字节为单位进行测量。

+0

是的sir.that有250个字段的表,我也想在这些字段上搜索。 – Jimit 2010-01-11 10:50:12

+0

在要搜索的字段上设置索引或聚簇索引 – 2010-01-11 10:56:14

0

我认为你需要考虑规范化(谷歌它,阅读,然后回来,如果需要,打开一些新的问题)。

记录数量必须非常大以影响性能,其中非常大取决于所用的RDBMS。例如。对于Access来说,1500万是巨大的,对于Oracle来说是中档的。但是数据结构在任何RDBMS中都很重要。所以规范化是关键。