【问题标题】:Too Many Database Joins to Find Information数据库连接过多无法查找信息
【发布时间】:2010-09-15 22:52:26
【问题描述】:

我有一个包含许多表的数据库设置。要查找用户的计算机,需要连接 6 个不同的数据库表。

My User 表和 Computer 表没有直接连接。

我应该只用外键连接用户和计算机表吗?还是做所有的联接?

还是我错过了什么?

【问题讨论】:

    标签: database


    【解决方案1】:

    除非性能是一个问题,否则不要对您的数据进行非规范化处理。这是维修隐患。如果您正在为所有的连接而苦苦挣扎,为什么不提出一个简化问题的视图呢?

    【讨论】:

    • 这可能是个好主意。我不熟悉视图,所以我只是用谷歌搜索它们,它们可能会起作用。是否有关于何时使用视图以及何时不使用的简单规则/示例?
    • 不,不是真的,但是有一些关于保持数据标准化的非常明智的建议。我总是会选择一种标准化的方法,而不是在多个地方复制数据。当您在 6 个月后返回维护数据库时,您会记得您的非规范化设置吗?当您需要对某些部分执行更新时,您会记得更新重复的数据吗?原子地?您可能会在短期内通过重复获得收益,但几乎总是会产生不希望的后果。对多个表进行正确的键控/索引查找并不是一件坏事。
    【解决方案2】:

    您是否进行联接或非规范化取决于您的数据库使用情况。答案是视情况而定。例如,连接多久完成一次?目标是什么 - 维护工作量?表现?开发力度?

    【讨论】:

    • 目标是告诉用户正在使用哪台计算机。我是否有可能错误地设置了我的数据库架构?
    猜你喜欢
    • 2018-04-09
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    相关资源
    最近更新 更多