如何在大型mysql数据库中为十个站点选择不同的记录

时间:2016-08-26 07:16:37

标签: php mysql database

我有一个包含特定类别的300万篇文章的大型数据库。我正在使用这个数据库,很少有网站启动。但我的预算很低。所以我最好使用共享主机但是问题是共享主机硬件功能很弱,因为它共享,所以我必须在已经发布的网站上发布新帖子,我遇到了麻烦。我使用以下方法来获取数据库的新内容,但现在随着数量的增加和数据库记录的增长,不仅仅是共享主机在正确的时间显示信息的能力。 我以前的方法:

我有一张内容表 还有一个表格,可以了解每个网站发布的条目统计信息。 我的查询包含在下面:

  SELECT * FROM postlink WHERE `source`='$mysource' AND NOT EXISTS (SELECT sign FROM `state` WHERE postlink.sign = state.sign AND `cite`='$mycite') ORDER BY `postlink`.`id` ASC LIMIT 5

我使用mysql

我已经使用不同的查询进行了测试,但没有得到好的结果,我们不得不显示一些帖子更耗时。

现在我希望你帮助我,并为我提供一个解决方案,我可以通过帖子的数量和正常共享主机在最短的时间内显示一些新的内容,以请求新帖子。 发送post stats表太大时会出现问题,如果我想清空此表,我们会遇到发送重复内容的问题,因此我没有其他选择来进行表统计。 统计表现在有10个站点的记录50万条记录。

提前感谢所有

1 个答案:

答案 0 :(得分:0)

您是否认真地将300万篇文章称为大型数据库? PostgreSQL甚至不会在此时开始制作Toasts。

考虑迁移到更严肃的数据库,您可以在其中使用部分索引,表分区,物化视图等。