数据库架构/数组为列/各种大小

时间:2017-09-26 19:59:40

标签: java mysql database jdbc database-design

您好我正在搜索有关我的Webcrawler项目的数据库(mysql)的建议(在java中)。

我正在Twitter上收集有关不同频道(约2000)的信息,有些有很多推文,有些则少。总之,我只需要存储每个推文的频道信息(名称,ID)和一些基本信息(id,时间,喜欢,转推)。

我的第一个想法是拥有一个Table"频道"每个频道都有一行,并且每行都有一个BLOB字段"推文"包含所有推文(从10到10000)。 现在这个版本在查询单个推文或特定时间跨度时有点不灵活。 但是当所有推文都有一个单独的表时,我害怕性能问题,我。即在大约1000000条推文的列表中搜索200个元素..

我如何解决这种情况?我没有能力测试两种性能情况,这就是为什么我要问:/

感谢您阅读!

2 个答案:

答案 0 :(得分:1)

两张桌子

频道:id | channelId |名称

推文:id | tweetId | channelId |时间|喜欢|转推

id是数据库中的内部数据库ID(不是推文或通道ID)。 tweets表中的channelId指的是它所属频道的内部数据库ID(外键)

出于性能问题:How many rows in a database are TOO MANY?

答案 1 :(得分:0)

  

过早优化是万恶之源。

单独使用表格。