2015-04-29 43 views
0

我有一個表,目前有超過300個不同的列。這些專欄邏輯上有不同的來源 - 一些是調查信息,一些是統計計算,一些是個人信息。在MySQL中是否有一種機制可以像獨立表一樣使用單獨的列組(即將索引應用於一個組,併爲組分配一個單獨的名稱......),但仍然將它們保存在一個表中以保持一致性?在MySQL中管理大量列的數據庫表的機制是什麼?

感謝, 弗拉基米爾

+0

有一種機制。這就是所謂的好設計,也就是正常化。 –

+0

是否一致?商Yipes。請正常化。 – Randy

回答

0

這300列是相互關聯的嗎?當任務被調用時,是否需要這300列?機會是,他們不是。如果沒有,則將它們歸一化爲第三範式,並將相關的結合起來。含義爲這些單獨的表創建主鍵,並使用包含相關列的外鍵將它們鏈接到新表。

0

更好地在多個表拆表。如果你想獲得1個對象中的所有300列,那麼你總是可以在這些表上創建一個視圖。

0

如果你真的需要保留它們在一個表中,並區分列,你可以使用COMMENT

ALTER TABLE `user` CHANGE `id` `id` INT(11) COMMENT 'group1' 

這應該讓你得到一定的註釋字符串列名

SELECT column_name 
FROM information_schema.columns 
WHERE table_schema = 'myschema' AND table_name = 'user' AND column_comment = 'group1'