微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 关于mySQL表中大量列的专家意见?

我正在创建一个工具,用于在CMS中编辑网页.
该工具的主要目标是为用户提供全面的灵活性.因此,可以在其中编辑大量属性 – 这些属性(片段):

langbutton_menu_border_color_left 
langbutton_menu_border_width_left
langbutton_menu_border_style_left 
langbutton_menu_border_color_right

……你得到漂移.到目前为止,我有238个这样的属性,主要是整数和短字符串.
我现在要为数据创建一个MysqL表.我有几年的Web开发经验,甚至考虑将238列放入MysqL表中也是绝对的禁忌.但是第二个想法,我开始思考,为什么不呢?

对我来说这是最方便的事情,因为我正在集成这个新工具的CMS有一组与单个数据库列连接的现成输入元素.存储属性的任何其他方式(例如,将它们分组以使“边界”属性存储在一个字段中)将需要对集合进行大量更改,我非常希望避免 – 我正处于一个大项目中并且确实在工作日和黑夜.

我将基于XML定义创建和更改表,因此我可以使用管理238列表.
存储效率并不重要 – 预期的页数不会超过50-100.
除了使用主键一次加载一个页面之外,我不需要对表格进行任何查询.

那么,MysqL专家,有没有认真反对在238列中存储这种数据?你会期待问题,指数内存使用,类似的东西吗?

通常,我会将各种属性转换为完整的CSS字符串,并构建可以解析和处理这些字符串的类 – 这会大大减少数量.但考虑到时间限制?

解决方法:

从理论上讲,MysqL现在仅限于表中的4096列(考虑其他约束,即认的NULL值等).所以,你有很大的优势.
就个人而言,在网络开发中,我试图保留#列的列数<我看到有100列的表格,但它很有用,但是很难维护这样的表格.
如果您不必搜索该列,请考虑在PHP数组上进行序列化并在TEXT中存储值.它更快,更灵活.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐