如何解决MYSQL:带有索引虚拟列VS普通列和规范化的JSON
问题陈述
我有一张由{strong> A 和 B 两种不同类型的用户组成的大表users
。目前,他们共享某些字段,而其他字段为仅A 或仅B 。
现在,通常对此表进行适当的归一化处理,我们最终可以拥有1个共享表和2个相关表,这些表具有 A字段和 B字段。但是,我的目标是减少空间,并在可能的情况下保持相同的性能。
我的解决方案
我的解决方案是使用JSON类型存储那些在2种不同用户类型之间不共享的字段,但同时为那些需要索引的字段创建生成的和索引的虚拟列。它应该节省空间,因为MySQL不会为未使用的字段分配空间,同时由于虚拟列+索引,它或多或少地保持了相同的性能。而且,这些字段不会用作外键,因此虚拟列对我来说不是一个限制。
问题
环顾四周,似乎人们不建议使用JSON类型来避免浪费空间而不使用字段。相反,仍然强烈建议对单独的表使用普通字段。 您是否认为我使用JSON而不是实际字段来处理错误的方法?如果是,为什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。