mysql - 定期通过4-5个表连接可以吗?
问题描述
我有一个数据库,我必须在其中连续查询/加入 5 个表才能获取将被推送到站点的 URL。
- 获取流的活动版本
- 获取版本后端流程的key
- 获取后端流的key
- 获取后台页面key
- 获取下一页的url
这是尝试在我们的站点上测试新流程的“即插即用”解决方案的结果。
我预计在我们的高峰流量时间下,这个序列每分钟会发生大约 200 次(它需要每页发生两次)。
这个可以吗?由于这种实现,我是否应该预期会有相当大的性能缺陷?我错过了一些重要的东西吗?
解决方案
如果您计划每秒有一千个查询,那么我们需要讨论一些事情。每分钟只有几百,应该没有问题。
这 5 个步骤听起来像是 5 个步骤SELECTs
,其中一个步骤建立在前一个步骤的基础上。请了解JOINs
和子查询。您可能可以编写一个查询来完成整个任务。现在你可能低于 100/分钟。
你有多少行?一千?没问题。一百万?这取决于。
索引是您在性能方面的朋友。如果您确实有性能问题,那么解决方案可能就像添加复合索引一样简单。如果您到了这一点,请提供SHOW CREATE TABLE
并EXPLAIN SELECT ...
推荐阅读
- javascript - 如何从 background.js 调用打开并动态创建新选项卡的内容脚本
- sql - 在 SQLite 中选择带有分隔符的字符串列,如数组
- listview - 将文本从 Arraylist 添加到 TextArea javafx
- xml - 从 url 了解 Web 服务中使用哪种编程语言
- struct - Fortran - 可分配派生类型的可分配数组
- php - 在 PHP 中转换 2018 年 8 月 t0 2018-08-01
- android - 我们能否构建一个具有 v3 依赖项的 AAR,而不会与 v2 的客户端应用程序依赖项发生冲突?
- javascript - 如何从 Redux 字段一次渲染 2 个字段
- javascript - 在浏览器中将 JSON 显示为 JSON
- git - 如何从 java 脚本执行 bash 脚本