我正在开发一个发布新闻的应用程序。有没有人能给我一个兼顾性能和可扩展性的最佳方法呢?
方法1:
我想有一个国家作为一个数据库和城市作为一个表,并将新闻张贴到个人的表。这样,我就可以将流量拉到各自的数据库/城市
但是要展示世界新闻是非常困难的。我需要连接多个数据库。我还是不知道这里的表演
方法2:
获取单个数据库并将新闻保存到多个cities表中。这样,我只需要加入多个表的世界新闻。我看不出方法1和方法2之间有什么区别。
方法3:
使用单个数据库并发布每个新闻w.r.t、country_id和city_id。为country_id和city_id建立适当的索引。
我倾向于第三种方法,但是如果有一百万条记录,搜索会变得太繁重,不是吗?
有没有人能给我一个建议。我使用的是MySQL数据库。
谢谢。
发布于 2015-02-13 02:11:33
方法3是唯一明智的选择。MySQL可以毫无困难地处理一百万行数据。
构建一个原型,在其中填充1000万行随机数据并测量性能,这是非常简单的。一千万不是打字错误。当它实用时,使用10倍于您预期的数据进行测试。学习使用EXPLAIN。
您应该能够在不到半小时的时间内构建这种原型。这是一项很好的练习技能。
每个国家一个数据库和每个城市一个表是partitioning的糟糕替代品。
https://stackoverflow.com/questions/28483730
复制相似问题