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中存储值.它更快,更灵活.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...