在同一个MySQL表中存储异构json对象?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在同一个MySQL表中存储异构json对象?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1446字,纯文字阅读大概需要3分钟。
内容图文
将异构json字符串存储到同一MySQL表中的推荐方法是什么?
我在这个MySQL数据库中有一些其他表来存储除JSON对象之外的信息,所以我想以最佳推荐的方式将这些JSON对象存储在同一个DB中.
我想将来自Perl脚本的json字符串存储到MySQL表中,该表不仅不具有相同的值,而且在不同的json对象中也将具有不同的层次结构.我正在考虑将它们存储为字符串或blob,以及每个条目的一些最小元数据.例如.:
CREATE TABLE `entry` (
`entry_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`file` varchar(1023) DEFAULT NULL,
`json` blob DEFAULT NULL,
`update_timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`entry_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
在使用Perl和MySQL直接进行此操作之前,是否有任何工具或库需要考虑?我想知道是否有任何东西与DBIx :: JSON对MySQL的SELECT查询所做的相反…
解决方法:
数据库中的Json对象完全没问题,直到您不想查询它的内容为止.
然而,存储类型值得讨论.我会用(ROW_FORMAT = COMPRESSED KEY_BLOCK_SIZE = 8)压缩InnoDB中的整个ROW,或者在仅压缩JSON的应用程序中进行压缩,并将其放入二进制格式.
使用第一个选项(应用程序处理TEXT,MySQL处理压缩)我更喜欢按文本类型(TEXT,LONGTEXT,MEDIUMTEXT,TINYTEXT)的json列.
使用第二个版本(应用程序处理压缩,MySQL只看到二进制)我当然会使用blob格式(TINYBLOB,BLOB,MEDIUMBLOB或LONGBLOB).
两者都是有效的选择.这真的取决于你的个人优先事项.将压缩移动到应用程序是扩展更容易但引入复杂性的好处.让MySQL处理压缩是透明的,易于设置,但它给CPU带来了一些压力(这很少是数据库的瓶颈).
内容总结
以上是互联网集市为您收集整理的在同一个MySQL表中存储异构json对象?全部内容,希望文章能够帮你解决在同一个MySQL表中存储异构json对象?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。