- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在工作中听一些人谈论数据库专栏。本质上,我们想添加一个新列作为查找表的 FK。它基本上是您首选的联系方式(主要电话或主要电子邮件)。所以主表 'User' 有一个 FK 到 'PreferredContactMethod'
第 1 个人:“让我们将 FK 列存储为一个无符号的 tiny int,并使 PK 查找表只包含一个 tinyint PK 和一个文本描述/代码”
第 2 个人“在 MySQL 中,我们将数据类型存储为 unsigned tinyint 还是 char(x) 是无关紧要的,那么为什么必须进行连接以找出查找列的值是什么?相反,使 FK 成为char(x),并在实际表上进行PK char(x)”
第 3 个人“不,将 PK 表示为字符不是一个好主意。它效率不高。处理像 unsigned tinyint 这样的东西比文本更好。而且由于只有两个值,我们为什么不将它存储为一个列(不是 FK),值为 0 或 1。这样效率更高,您无需加入任何内容。”
所以在听了这一切之后,我开始怀疑谁是对的。我怀疑这是微不足道的,以至于它在性能方面无关紧要,但我现在很好奇它的优缺点是什么,我希望有人能接受它。
感谢您的宝贵时间。
最佳答案
像这样的问题通常没有正确或错误的答案。或者实际上,任何一个答案都可能是正确的,因为这取决于您将如何使用数据。
将 int/tinyint 存储到查找表的一个很好的例子是值定期更改,并且您希望允许在查找表中发生更改而不更改引用它的所有行。
如果您有一个不经常更改的相对较小的查找表,并且字符串相当短,那么将 PK 存储为字符串是一件好事。如果字符串很长,这可能会使 FK 引用变得更笨重,并占用大量空间。
将 PK 存储为字符串的低效率不会对查找表产生太大影响。那张 table 很小。字符串 PK 的成本主要是由于频繁的随机插入。但这不会影响查找表。
关于MySQL - "Lookup"列数据类型 - 存储简单查找的理想方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43011564/
如果查找返回 null 该怎么办?我正在使用 org.openide.util.Lookup 的 Lookup.getDefault().lookup() ,它用于查找对象的实例。一般模式是传递一个
我尝试了两种方法来获取给定函数的 MethodHandle。 Method 1 Method m = MyClass.class.getMethod("myMethod", String.class,
前言 前面几节都是讲的基础内容,本节我们讲讲索引性能优化,当对大数据进行处理时首先想到的就是索引,一旦遇到这样的问题则手忙脚乱,各种查资料,为何平常不扎实基本功呢,我们由浅入深,简短的内容,深入的
我试图理解 System.Linq.Lookup类(class)。调用GetType()时,显示如下: System.Linq.Lookup`2+Grouping[System.Object,Syst
什么是依赖于参数的查找有哪些好的解释?许多人也称其为Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么不好? 如何运作? 最佳答案 Koenig查找或 Argument Dep
关于什么是参数相关查找有什么好的解释?许多人也称它为 Koenig Lookup。 最好我想知道: 为什么是好事? 为什么是坏事? 它是如何工作的? 最佳答案 Koenig 查找 , 或 Argume
我有两个 mongo 集合,一个包含约会提醒,另一个包含通知。我正在尝试返回给定的branchId/clinic_id中的所有存档:错误提醒的结果,并包括其已确认的:错误通知。另外,我想确保约会显示在
关于什么是参数依赖查找有什么好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查询 , 或
我正在 AX 2009 中的一个表单上创建一个项目。有一个名为“SubsPersonName”的查找字段,它使用以下方法对 ContactPerson 表执行查找。 public void looku
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何运作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何运作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何运作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有什么好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
以下函数将电话号码作为输入参数(例如 +436641234567 或 +436641234567)并在联系人数据库中执行两次查找:首先,识别属于该号码的用户(这已经有效),然后使用该 ID用户的 获取
我设置了一个运行centos6.2 64位的virtualbox客户端机器,主机是windows7 64位,并在客户端机器上设置了两个网卡,一个是NAT模式,一个是host-only模式,然后我就陷入
我是一名优秀的程序员,十分优秀!