遇到难题了,请大家帮我看看如何解决?

php_wsd 2010-06-18 04:24:49
数据库是sql server 2005
用户表中用个字段classlist,用来保存这个用户的所有产品分类,格式如:102,103,104,105(这里的数量不确定);这张表中大约有15W的用户数据。
现在公司需要增加一个功能:让用户的分类顺序可由用户来自定义到他的前台去(以前只按格式的顺序)。
我的想法是:增加一个字段,用来保存相应的顺序,存储的格式也是3,2,1,4;分别对应102排在第3位,103排在第2位……。
现在出现的问题是
1、 15W的数据,这个字段中的内容如何填入(以前没有这个字段)?
2、 然后这个字段存储的是顺序,但如何将相应的分类显示在前台?
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
alxw4616 2010-06-18
  • 打赏
  • 举报
回复
楼上正解
jiujiuyaokan 2010-06-18
  • 打赏
  • 举报
回复
以前的数据库设计不够合理导致如今修改表结构操作复杂。
建议新建个关系表,结构如下:
------------------------------------
自增ID,用户ID,classlist,优先级
1 1 102 3
2 1 103 2
3 1 104 1
4 1 105 4
------------------------------------
如果你在原来表中新添字段的话,操作量是不会少的,而且当再次出现新需求(比如需在各分类之间建立父子关系)时,再更改表结构时,操作将变得更加复杂。
所以建议新建以上关系表,然后将原表的classlist字段内容移到新的关系表结构中(存放格式如上图),
虽然操作量和前者比也不会少多少,但对于今后新的需求出现,更改表结构时,会变得更灵活。
bo3235 2010-06-18
  • 打赏
  • 举报
回复
一般理解的方式,一个用户对应多个产品,而一个产品分类对应多个产品,你的表结构设计怪异.

增加一张表,用户产品分类表,字段如下 用户编号,产品分类编号(如102),RANK 排序. 相关思路就很清楚了


工作步骤如下,1.建立用户产品分类表,建立对应的索引
2.导入数据,用临时程序也可
3.修改对应部分的程序
in0512 2010-06-18
  • 打赏
  • 举报
回复
1.新增个字段.类型int,默认0,不允许为空.

2.查询语句后改为 order by 新增字段 desc,id desc (为什么加ID desc是因为新增字段初始值为空就根据ID排)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧