我有大量記錄(10,000,每天增加),實質上是一個包含大量數據的報告。所有這些數據,只是數字測量,都需要存儲。MySQL數據庫中大量的列數
問題是,有超過200個這些測量,我需要查詢它們。例如,「對於2012年1月至3月間創建的報告,按性別排序,每個性別的平均身高是多少?」爲了能夠靈活地查詢任何測量結果,每個測量結果都需要自己的列。
現在,我將每個字段存儲在JSON數組中,並將其存儲在單個列中。這對於我沒有完成查詢工具的這部分開發來說很好,但我需要儘快完成這個工作......理論上,我可以從數據庫中提取所有記錄並使用PHP對它們進行排序(當它們是對象或數組),但在處理這麼多行時似乎是不必要的複雜和危險的。
MySQL中的大型(200+)列表中是否存在與成千上萬行有關的任何問題,無論是性能還是數據完整性?或者,有沒有其他辦法可以將的所有內容全部並使用某種服務器端語言進行排序?
我的數據的一些隨機信息:
- 每個報告已超過200個測量
- 每個測量需要能夠被查詢
- 測量大多是整數或浮點數,但有是幾個字符串
每桌有4,096列的硬限制,但可以通過其他存儲因素來減少。 MySQL不應該列出200列,但你有一些設計決策。也許有50列與其他150列有根本的不同,所以你可以將它們分成兩個表,它們有一個具有唯一標識符的列將它們映射到一起(這將存在於父表中)。 –
我知道硬限制,但我不確定200是否會成爲性能問題。 –