【问题标题】:offloading data to another db-table and cache将数据卸载到另一个数据库表和缓存
【发布时间】:2014-11-18 18:02:19
【问题描述】:

我有一个在线商店,我们的产品来自 4 表连接。 我想摆脱这些联接的原因如下:

  1. 数据库成本太高。
  2. 当我需要查询数据时,我想使用更简单的查询。

我正在考虑将数据以更简单的形式卸载到另一个数据库和表中。 然后,另外,缓存来自新表的数据。

这给了我:

  1. 性能良好
  2. 当我需要使用 DB 客户端执行动态查找时,查询更简单。

任何人都可以权衡这是否是一个好方法吗? 是不是我做的太多了?

【问题讨论】:

    标签: php mysql database performance caching


    【解决方案1】:

    这不是一个好方法,您正在做的是反规范化,并且只有在您确实需要提高系统性能时才应将其作为最后的手段。我曾在每月浏览量超过 1000 万的网站上工作过,即使在这些网站上,也只有某些特定用例才需要。

    MySQL 连接非常快,连接 4 个表没什么,我编写了连接到 15 个表的查询,运行时间不到 0.001 秒,如果您的索引正确完成,差异不会很明显。

    您正在做的是Premature Optimization 和查询编写懒惰,除非您的在线商店每天获得数十万(甚至数百万)次访问,否则您没有专注于正确的事情,数据完整性和一致性是一种方式更重要。

    【讨论】:

    • 那么,你明白我的问题了吗?如果有,有什么解决办法?
    • 好吧,我不知道你的数据库结构,但如果没问题,你不应该担心性能,如果查询很慢,请对它们“解释”并检查是否缺少索引在某些领域。
    猜你喜欢
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    相关资源
    最近更新 更多