0
我有一個約20列的表格。在MySQL中水平分區
-----------------------------------------------------------------
GUID_PK | GUID_SET_ID | Col_3 | Col_4 | ... | Col_20
-----------------------------------------------------------------
可能有成千上萬的Sets
每個有幾十到少於一千個記錄。一組中的記錄都是相互關聯的。套完全相互獨立。一整套在一次大交易中被同時讀取/寫入。一旦寫入記錄,它永遠是隻讀的,永不改變,只能讀取。數據很少從這張表中刪除。當它被刪除時,整個集合被一次刪除。
只有SET_ID
是一個傳入的外鍵。 PK
是到另一個表的傳出外鍵。在詳細信息表中,每個主記錄保留大約3或4條記錄(每個記錄一個斑點)。
問題是:我應該劃分表嗎?我認爲是的。我的老闆認爲更好。他希望動態創建表格,每個集合一個主要的一個細節。我個人對動態創作理念並不感到滿意,但是擔心這個「一桌一桌」的規則。
批量插入和批量選擇肯定會達到性能。批量刪除將再次對索引重新排序。什麼是最佳結構?
當你插入數據像'Col_x'的所有列被填充?或只是一些? – Stephan
@Stephan所有列都一次性填充。實際上兩列是可空的,有時但很少它們可能爲空。但稍後沒有更新記錄。完成了什麼。 – inquisitive
在這種情況下,您可以使用散列http://dev.mysql.com/doc/refman/5.1/en/partitioning-hash.html – Stephan