何时以及为什么数据库加入昂贵?
我正在研究数据库,我正在研究关系数据库的一些局限性。 我得到大桌子的连接是非常昂贵的,但我不完全确定为什么。 DBMS需要做什么才能执行连接操作,瓶颈在哪里? 非规范化如何帮助克服这笔费用? 其他优化技术(例如索引)如何帮助? 欢迎个人经历! 如果您要发布资源链接,请避免使用Wikipedia。 我知道在哪里找到它。 与此相关,我想知道云服务数据库(如BigTable和SimpleDB)使用的非规范化方法。 看到 这个问题 。 #1楼 当您考虑连接的复杂性类时,决定是否进行非规范化或规范化是一个相当简单的过程。 例如,当查询为O(k log n)时,我倾向于使用规范化来设计我的数据库,其中k是相对于所需输出幅度的。 非规范化和优化性能的简单方法是考虑规范化结构的更改如何影响非规范化结构。 然而,它可能是有问题的,因为它可能需要事务逻辑来处理非规范化的结构化。 关于正常化和非规范化的争论不会结束,因为问题是巨大的。 自然解决方案需要两种方法存在许多问题。 作为一般规则,我总是存储一个可以重构的规范化结构和非规范化缓存。 最终,这些缓存可以帮助我解决未来的规范化问题。 #2楼 您加入表格的顺序非常重要。 如果您有两组数据,请尝试以某种方式构建查询,以便首先使用最小的数据来减少查询必须处理的数据量。 对于某些数据库而言无关紧要,例如MS SQL在大多数情况下确实知道正确的连接顺序。