可以定期通过4-5张桌子联系吗?

时间:2019-02-26 00:36:19

标签: mysql database-design

我有一个数据库,我必须在该数据库中连续查询/联接5个表才能获得将被推送到网站上的URL。

  1. 获取流的活动版本
  2. 获取版本后端流程的密钥
  3. 获取后端流程的密钥
  4. 获取后端页面的密钥
  5. 获取下一页的网址

这是尝试使用“即插即用”解决方案来测试我们网站上新流量的结果。

我希望在我们的高峰访问时间下,此序列每分钟会发生200次(每页两次)。

这样可以吗?由于这种实现方式,我是否应该预期会有相当大的性能缺陷?我错过了重要的东西吗?

1 个答案:

答案 0 :(得分:0)

如果您打算每秒钟 进行一千次查询,那么我们需要讨论一下。每分钟只有几百个,应该没有问题。

这5个步骤听起来像5 SELECTs,其中一个步骤建立在前一个步骤的基础上。请了解JOINs和子查询。您可能可以编写完成整个任务的单个查询。现在您可能会低于100 /分钟。

您有几行?一千?没问题。一百万?这取决于。

索引是您表现的好朋友。如果确实存在性能问题,则解决方案可能与添加复合索引一样简单。如果您到了这一步,请提供SHOW CREATE TABLEEXPLAIN SELECT ...