2010-01-11 112 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中都很重要。所以規範化是關鍵。