您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

一个字段多个值的数据库设计有关问题

2024/6/2 7:38:33发布35次查看
一个字段多个值的数据库设计问题
现在有字段a。取值是单个的,比如取值是3
有一个字段,取值是多个的。比如字段b,取值可能是1、2、3、4
现在要查出所有含有字段a的值的记录。比如:
记录1:3、5、7(符合)
记录2:6、8、9(不符合)
请问如何设计数据库比较合理?充分考虑到性能优化。
分享到:
------解决方案--------------------
可以啊,或者用逗号隔开也行。
------解决方案--------------------
如果值域不超过64,那么可直接使用 set 类型
如果不想用 set 类型,值域也肯能远超过 64
那么可以用 varchar 或 text 类型
数据由以逗号分隔的串组成,比如 2,4,6,3
mysql 提供了 find_in_set 函数,用来完成查找工作
------解决方案--------------------
like 和 find_in_set 还有 in
都是在求“是否在其中”,性能肯定不会高到哪里去
把数据打包在一起,本身就是以时间换空间的做法
要想达到高速的目的,当然就不能打包在一起,而是独立存放并加上索引,当然还要加上宿主的id
这就是所谓的以空间换时间
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product