gpt4 book ai didi

sql - 性能提升与规范化您的表格?

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:41 25 4
gpt4 key购买 nike

<分区>

好吧好吧,我知道你们问这个问题可能都会杀了我,但是我和一位同事就我们的一个数据库表进行了友好的程序员争论,他问了一个我知道答案的问题,但我无法解释这是更好的方法。

为了问题的简单性,我将简化情况,我们有一个相当大的人员/用户表。现在在存储的其他数据中,有问题的数据如下:我们有一个 simNumber、cellNumber 和该 sim 的 ipAddress。

现在我是说我们应该创建一个表,我们称它为 SimTable 并将这 3 个条目放入 sim 表中,然后将 FK 放入 UsersTable 中以链接这两个表。为什么?因为这就是我一直被教导的让你的 table 正常化!!!好的,在这方面一切都很好。

但是现在我的 friend 对我说是的,但是现在当你想查询用户的电话号码时,SQL 现在必须去:

  1. 搜索用户
  2. 搜索 sim fk
  3. 在 sim 数据库中搜索正确的 sim 行
  4. 获取电话号码

现在,当我去请求 10000 个用户的电话号码时,完成的操作数量会严重增加。

与其他方法相比

  1. 搜索用户
  2. 找到电话号码

现在的争论纯粹是基于性能。据我所知,我们为什么要对数据进行规范化(以删除冗余数据、可维护性、对一个表中的数据进行更改并向上传播等。)在我看来,使用一个表中的数据的方法会更快或者至少会通过更少的任务/操作来提供我想要的数据?

那么这种情况是怎么回事呢?我希望我没有问任何愚蠢的问题,现在是清晨所以如果我没有想清楚请原谅我

MS SQL server 2012涉及的技术

[编辑]下面这篇文章也涉及到我上面提到的一些概念 http://databases.about.com/od/specificproducts/a/Should-I-Normalize-My-Database.htm

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