Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

用户数据存储优化建议

[复制链接]
(_灬greyCode 发表于 2011-4-25 01:00:12 | 显示全部楼层 |阅读模式
本帖最后由 (_灬greyCode 于 2011-4-25 01:03 编辑

最近一直在研究discuzX1.5发现用户的存储数据时是将具体的选项内容存入数据库!

比如说,我有一个字段 field1 描述为 我的个性 选项的值为( 选项1 | 选项2 | 选项3 | 选项4)

如果用户更新数据时选择“选项1”  ,现有的方式是  直接 将“选项1”存入数据库。

个人认为这样做不是很好的方式,从数据库优化和全站数据统一得角度来看。这样做事不合理的。
如果我有一个选项的值很长很长,那么所有的用户都将会存储这么很长很长的一句话,造成数据库不必要的浪费,这对于我们个人站长来说也是钱啊
还有如果我现在将 “选项1” 更换为 "选项5", 那么对于已经更新了用户资料的用户并选择了  “选项1” 作为 字段 field1的值时,该用户的字段 field1的值将不会改变还是“选项1”,我相信这个大家都应该明白的。这个对于刚建站的站长来说,用户数据可能是经常要修改的,可能发现的问题会更大。

下面我提出以下解决办法
管理员在后台设置某个字段的选值时 输入如下内容
1=选项1
2=选项2
3=选项3
4=选项4

那么数据库就应该存储每个选项“=”前面的数字  而 不是“=”后面的文字。“=”后面的文字只用于显示用!

我相信这个功能开发团队修改起来应该不是很复杂。但是给站长带来的利益和好处,那是很明显的。
而且我发现discuz其实是有这样的一个功能的,不过是在插件设计变量时 可以给select类型数据像上面那样设置选项值。
但是为什么就不能将这个功能用到更好的地方呢? 而且显示起来也不是很复杂的,我现在已经修改discuzX1.5实现了这个功能的。主要是修改了function_profile.php 文件!

最后希望该建议可以被采纳!
海天风 发表于 2011-4-25 09:02:48 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-22 18:08 , Processed in 0.019004 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表