2017-09-26 101 views
0

您好,我正在尋找關於我的Webcrawler項目(在Java中)的數據庫(MySQL)的建議。數據庫體系結構/數組作爲列/各種大小

我在Twitter上收集有關不同渠道(約2000)的信息,其中一些有很多推文,有些則較少。總之,我只需要在每條推文(id,time,likes,retweets)上存儲頻道信息(名稱,ID)和一些基本信息。

我的第一個想法是讓每個頻道都有一個表格「頻道」,並且每行有一個包含所有推文(從10到10000)的BLOB字段「tweets」。 現在,當查詢單個推文或特定時間段時,此版本有點不靈活。 但是,當所有推文都有單獨的表格時,我擔心性能問題,即在大約100萬條推文的列表中搜索200個元素。

我該如何解決這種情況?我沒有能力測試兩種情況下的表現,這就是爲什麼我問:/

謝謝你的閱讀!

+0

使用兩個表,在通道ID列上創建索引。 – GriffeyDog

回答

1

兩張桌子

channels:id | channelId |名稱

tweets:id | tweetId | channelId |時間|喜歡|轉推

id是數據庫中的內部數據庫ID(不是推特或頻道ID)。從鳴叫表中的channelID是指該通道的內部數據庫ID屬於(外鍵)

爲了您的性能問題:How many rows in a database are TOO MANY?

0

過早的優化是所有罪惡的根源。

請使用單獨的表格。