首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL规范化-1表有3列还是2表有2列?

MySQL规范化-1表有3列还是2表有2列?
EN

Stack Overflow用户
提问于 2014-02-13 12:00:48
回答 1查看 48关注 0票数 0

我正在建立一个有几百万条记录的数据库,我有一个关于一个关系表的问题,它将被用来存储两个可搜索的参考数字。我是新来的,所以如果以前有人问过,我很抱歉。

代码语言:javascript
复制
id          digit1      digit2

varchar(9)  varchar(9)  varchar(9)
  1. 最好是( a)在一个表中保留两个单独的可选列,还是( b)为digit1和digit2保留两个单独的表?
  2. 如果digit1总是由6-9个数字组成,而digit2总是由相同的3个字母和6个数字组成,那么我应该使用什么类型的mysql字符类型?如何通过一套这样的规则来限制输入?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-02-13 12:16:29

实际上,如果要存储数字,并且不想同时使用digit1和digit2进行查询,最好将它们分开放在不同的表中。否则,最好把它们放在同一张桌子上,否则你会有痛苦的连接。这还取决于矩阵的稀疏性(我的意思是,如果第2列中有太多的项,而第3栏中只有少数项,那么最好也把它们分开)。

现在,如果您想要存储数字,这里有一个更大的区别,就是使用一个数字字段来存储值(而不是varchar),这样搜索和索引的速度就会更小,检索的速度也会更快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21753680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档