• MySQL中json类型,你使用过吗


    在最近的项目开发过程中,遇到了消息发送内容以Map形式存储的情况。最初的解决方案是将对象转换为字符串,并存储在MySQL的varchar(3000)字段中。然而,由于对存储空间的限制,不得不寻找其他解决方案。在调研中发现,从MySQL 5.7开始,MySQL开始支持json类型,用于存储JSON数据。json类型的存储空间与long text相同,非常适合解决存储空间不足的问题。

    The space required to store a JSON document is roughly the same as for
    LONGBLOB or LONGTEXT;

    MySQL 5.7 json
    MySQL 8.0 json

    大家觉得使用MySQL的json类型好一点还是使用NoSQL 数据库来存储好一点呢?

    对于这种情况,选择使用MySQL的json类型还是使用NoSQL数据库来存储,取决于具体需求和场景。以下是一些考虑因素:

    1. 数据结构灵活性:如果消息发送内容的Map结构相对简单且固定,使用MySQL的json类型可以满足需求。MySQL的json类型允许存储和查询具有不同结构的文档数据,适用于半结构化数据的存储需求。

    2. 查询和分析需求:如果对消息发送内容进行复杂的查询和分析,MySQL的json类型可以使用SQL查询语言进行灵活的操作。NoSQL数据库的查询能力可能相对较弱,需要根据具体需求评估。

    3. 扩展性和性能:如果项目需要处理大量的数据和高并发访问,NoSQL数据库通常具有良好的横向扩展性和高性能,可以更好地满足这些需求。

    4. 开发和维护成本:如果团队已经熟悉MySQL并且已经有相关的基础设施和运维经验,使用MySQL的json类型可以减少学习和维护成本。但如果团队已经具备了NoSQL数据库的知识和技术能力,选择使用NoSQL数据库也是一个可行的选择。

    综上所述,选择使用MySQL的json类型还是NoSQL数据库,需要综合考虑数据结构灵活性、查询和分析需求、扩展性和性能、开发和维护成本等因素。根据具体情况进行权衡和选择,以满足项目需求并提供最佳的解决方案。

    参考文章

    尽量使用8.0以上的MySQL来使用json数据类型存储json
    MySQL提供了JSON_SET()、JSON_REPLACE()或JSON_REMOVE()三个函数可以进行值部分更新。其效率是5.7版本的5倍!虽然5.7版本也有这几个函数,但是并不是部分更新!

  • 相关阅读:
    平面设计实验六 色彩调整与风景美化
    kindle通过原装数据线连接mac book不显示设备解决办法
    【MySQL基础 安装】CentOS 7 Yum网络部署 最新官方MySQL5 2020_2_1
    【Linux】:Linux软件包管理器yum
    等保2.0 测评 linux服务器加固 基本安全配置手册
    阅读源码工具Sourcetrail
    JVM 类加载器
    Artifact XXXwar exploded Artifact is being deployed, please wait...(已解决)
    CPP-Templates-2nd--第十九章 萃取的实现 19.4-19.5
    python绘图文字乱码
  • 原文地址:https://blog.csdn.net/qq_41638851/article/details/134477330