当前位置:  开发笔记 > 编程语言 > 正文

SQL表中的ID字段:规则还是法律?

如何解决《SQL表中的ID字段:规则还是法律?》经验,为你挑选了1个好方法。

只是一个快速的数据库设计问题:你是否总是在每张表中使用ID字段,或者只是大部分?显然,您的大多数表都会受益,但是您是否曾经有过可能不想使用ID字段的表格?

例如,我想添加向另一个表(foo)中的对象添加标签的功能.所以我有一个带有varchar字段的表FooTag来保存标记,还有一个fooID字段来引用foo中的行.我真的需要围绕一个基本上任意的ID字段创建聚簇索引吗?使用fooID和我的文本字段作为聚集索引会不会更有效率,因为我几乎总是会通过fooID进行搜索?另外,使用聚集索引中的文本可以保持数据的排序,使我在查询数据时更容易排序.缺点是插入需要更长时间,但不会被选择期间的增益所抵消,这种情况会更频繁地发生?

您对ID字段有何看法?可弯曲的规则,还是坚不可摧的法律?

编辑:我知道提供的示例未规范化.如果标记是项目的主要部分,标记了多个表,以及其他"附加",那么双表解决方案将是一个明确的答案.但是在这个最简单的情况下,归一化是否值得?它会节省一些空间,但在运行查询时需要额外的连接



1> annakata..:

正如编程的大部分内容:规则,而不是法律.

异常证明:某些双列表仅用于形成其他更有意义的表之间的关系.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有