首页 > 解决方案 > 定期通过4-5个表连接可以吗?

问题描述

我有一个数据库,我必须在其中连续查询/加入 5 个表才能获取将被推送到站点的 URL。

  1. 获取流的活动版本
  2. 获取版本后端流程的key
  3. 获取后端流的key
  4. 获取后台页面key
  5. 获取下一页的url

这是尝试在我们的站点上测试新流程的“即插即用”解决方案的结果。

我预计在我们的高峰流量时间下,这个序列每分钟会发生大约 200 次(它需要每页发生两次)。

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

标签: mysqldatabase-design

解决方案


如果您计划每秒有一千个查询,那么我们需要讨论一些事情。每分钟只有几百,应该没有问题。

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

你有多少行?一千?没问题。一百万?这取决于。

索引是您在性能方面的朋友。如果您确实有性能问题,那么解决方案可能就像添加复合索引一样简单。如果您到了这一点,请提供SHOW CREATE TABLEEXPLAIN SELECT ...


推荐阅读