【问题标题】:json field type vs. one field for each keyjson 字段类型与每个键一个字段
【发布时间】:2016-08-29 10:25:52
【问题描述】:

我正在开发一个网站,该网站有一个包含 100 多个字段的数据库表。 问题是当我的记录数变得非常多(比如超过 10000 条)时,响应速度变得非常快,实际上没有返回任何答案。 现在我想优化这个表。 我的问题是:我们可以使用 json 类型的字段来减少列数吗? 我的限制是我想搜索、更改甚至删除存储在 json 中的特定数据。 PS:我读了这个问题:Storing JSON in database vs. having a new column for each key,但这是在 2013 年提出的,并且我们知道在 MuSQL 5.7 中添加了 json 字段类型。 tnx 任何指南...

【问题讨论】:

    标签: mysql sql json database


    【解决方案1】:
    1. 首先,拥有 100 列的表可能建议您在继续之前重新考虑您的架构。否则只会在后期越来越痛苦。

    2. 您可能将数据存储为单独的列,这些列可以分解为单独的行。

    3. 我认为您正在编写的 sql 查询类似于 (select * ... ),您可能会获取超出您需要的列。您可以指定所需的列。肯定会加快api响应速度。

    4. 在我个人看来,将活动数据存储在 sql 中的 json 中是没有用的。对于不变异或不需要搜索的元数据,应将 Json 用作最后的手段。

    请让您的问题更能描述您的数据库架构和您为 api 进行的查询。

    【讨论】:

    • tnx 为您的回应。我决定将 MySQL 用作 DB 并将表中断为 3。我不会将 JSON 类型用于字段,而仅将其用于将数据发送到服务器并将其取回。对列进行适当的索引也会帮助我获得良好的性能(我希望如此......)
    • 对你有好处。有空的时候看看数据库设计中的规范化概念。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    相关资源
    最近更新 更多