我正在研究数据库,我正在研究关系数据库的一些局限性。我得到大桌子的连接是非常昂贵的,但我不完全确定为什么。DBMS需要做什么才能执行连接操作,瓶颈在哪里?非规范化如何帮助克服这笔费用?其他优化技术(例如索引)如何帮助?欢迎个人经历!如果您要发布资源链接,请避免使用Wikipedia。我知道在哪里找到它。与此相关,我想知道云服务数据库(如BigTable和SimpleDB)使用的非规范化方法。
3 回答
哔哔one
TA贡献1854条经验 获得超8个赞
我认为整个问题都是基于错误的前提。加入大表是不是要贵。实际上,有效地进行连接是关系数据库存在的主要原因之一。大型集合上的连接通常很昂贵,但是很少想要将大型表A的全部内容与大型表B的全部内容连接起来。相反,您编写查询时只使用每个表的重要行并且连接保留的实际集合仍然较小。
此外,您还具有Peter Wone提到的效率,因此在实现最终结果集之前,只有每条记录的重要部分需要在内存中。此外,在具有许多联接的大型查询中,您通常希望从较小的表集开始,然后一直运行到大表集,以便保留在内存中的集尽可能地尽可能小。
正确完成后,连接通常是比较,组合或过滤大量数据的最佳方式。
添加回答
举报
0/150
提交
取消