2010-06-07 52 views
0

我有一個有很多行的表格。該結構是這樣的:數據庫結構,優化有很多行的表格

UserID | ItemID | Item Data... 

我會看到在查詢時間的任何收益,如果我分成表這每用戶或每較小的用戶羣?

查詢總是單個用戶獲取/修改選擇的項目。

+0

你的主要關鍵是什麼? – 2010-06-07 18:38:23

+0

@Romain Hippeau主鍵是一個唯一的行ID(自動增量)。在userid,itemid組合以及每個獨立的索引上都有。 – aepheus 2010-06-07 18:45:11

+0

然後你很好 - 不要放在多個表格中。 – 2010-06-07 22:47:48

回答

0

請勿製作多個表格。

告訴我們你認爲「很多行」是什麼。

您對錶格有任何索引或約束嗎?

數據如何插入,更新和刪除?

通常,我想要一個唯一的UserID,ItemID索引,但不知道更多關於您的環境,這很難說。

此外,請給我們提供關於數據庫平臺和您選擇的數據類型的信息。

+0

很多行在高達數十萬的範圍內。 UserID,ItemID和組合都有索引(以及其他一些通常搜索的字段)。這是在SQL Server 2000上。 – aepheus 2010-06-07 18:48:01

+0

體面的硬件和適當的索引不應該強迫你看像奇怪的情況,像每個用戶表,恕我直言。但不是一個SQL Server 2000的傢伙。 – rfusca 2010-06-07 19:53:07

+0

@aepheus典型查詢的執行計劃是什麼樣子的 - 是使用索引嗎? – 2010-06-07 20:39:20