我想要拿出一個數據庫設計來保存正在完成的一些計算的「前10位」結果。基本上,當所有人都說完成後,將會有3個「前10名」類別,這些類別我都很好,但我需要能夠返回並稍後提取有關前10名的歷史數據在某些時候,因此需要數據庫,儘管平面文件可以工作,但這有可能保存數年的數據。需要數據庫設計方面的幫助前10位
現在,這已經有一段時間了,因爲我對數據庫做了任何嚴肅的事情,除了有一些簡單的表格之外,所以我在思考這個設計時遇到了一些問題。如果有人能夠幫助我設計它,我知道有足夠的MySQL來完成剩下的工作。
因此,本質上,我需要存儲:一組10個名稱,每個名稱所佔總點數的百分比,他們在前十名中的排名以及與前十名相關的時間(所以我可以後來查詢那個時間)
我想我需要一個表爲11列的前10名,一個爲ID和10名爲'名稱'表的外鍵,它擁有所有曾經用過的名字PK,姓名,%和排名。這對我來說似乎笨重,其他人有什麼建議嗎?
編輯:「前10名」與5分鐘間隔的特定數據集相關聯,每個間隔與以前或未來間隔完全無關。
我不確定這會起作用。名稱實際上來自我查詢的syslog數據,每個數據都根據前10名尋找的自己的排名。數據在5分鐘內處理,每個5分鐘大塊被獨立處理。所以每5分鐘就有一個前10名,這些前5分鐘完全獨立。 這不是一個運行平均值或運行總值,每個5分鐘的時間段是不獨立的。但是,是的,名稱在所有前十名中可能會出現超過一次。我應該在原來的問題中指出這一點。 – z0dSki
我的建議中沒有任何運行總數。按照我的設計,每個5分鐘的塊會導致10條記錄被插入到數據庫中:10條記錄對應於事實「在塊X中,鮑勃是#1」,「在塊X中,喬是#2」,「在塊X中,吉爾是#3,「等等。當你運行塊Y時,你會增加10個記錄。我用「日期」而不是「時間」這個事實不應該阻止你將它適應你的情況。 –
對不起,我誤解了你的帖子。那麼你是在建議一個單一的表格並嚴格依據提交前十名的日期/時間進行查詢?每隔5分鐘收集很長一段時間後,您覺得這樣做最終會慢慢搜索/查詢? – z0dSki