gpt4 book ai didi

php - Mysql 在高流量数据库上使用过滤器计算行数

转载 作者:可可西里 更新时间:2023-11-01 06:27:58 24 4
gpt4 key购买 nike

假设您有一个带有多个选择字段的搜索表单,假设用户从下拉列表中选择一个选项,但在他提交数据之前我需要显示数据库中的行数。

假设该站点每天至少有 300k(300.000) 位访问者,并且用户在访问时从表单中选择选项至少 40 次,这意味着 12M ajax 请求 + 1200 万次数据库查询,这似乎有点太多了。

问题是如何实现快速计数(使用 php(Zend Framework)和 MySQL),以便数据库上额外的 12M 查询不会影响站点的负载。

一个解决方案是有一个表来存储选择字段的所有组合及其各自的计数(当从产品表中添加或删除产品时,存储计数的表将被更新)。尽管当 43 个过滤器中的 8 个过滤器(选择选项)将插入 +800 万行需要管理时,这不是一个好主意。

关于如何实现这一目标还有其他想法吗?

附注我不需要代码示例,而是在这种情况下可行的想法本身。

最佳答案

我可能会有一个预先计算好的表格 - 正如您自己建议的那样。重要的是你有一个智能机制来处理两件事:

  1. 轻松查询哪些条目受哪些更改影响。
  2. 为整个表单请求提供唯一的查找字段。

如果您有可靠的键,8M 的条目就不会很重要,因为您只需要直接查找。

我会不厌其烦地在所有必要的地方为这个表编写特定的更新。即使有大量的变化,这仍然是有效的。如果操作正确,您将知道在插入/更新/删除产品时需要更新或使哪些行无效。

旁注:根据您的评论。如果您需要在八个地方添加代码以覆盖所有可以删除的地方 - 这可能是重构和集中一些代码的好时机。

关于php - Mysql 在高流量数据库上使用过滤器计算行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6302985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com