MySQL JSON存储与两个表

Boo*_*ski 3 php mysql json

使用JSON在表中存储数据与使用单独的元表有什么好处?

这是原始架构:

Users Table      UserId  |  Username  |  Etc...
                 5       |  John      |

Avatar Table     Id      |  UserId    |  ImageName         |  ImageType
                 1       |  5         |  example.png       |  original
                 2       |  5         |  example_thumb.png |  thumbnail
Run Code Online (Sandbox Code Playgroud)

这是JSON版本:

Users Table      UserId  |  Username  |  Avatar
                 5       |  John      |  {"original":"example.png","thumbnail":"example_thumb.png"}
Run Code Online (Sandbox Code Playgroud)

我个人喜欢json版本并且更喜欢使用它,但它比原始版本慢多少?

就我而言,我几乎每个查询都需要用户的头像(和不同的大小).

Pas*_*TIN 5

使用大文本文件存储序列化(无论何种序列化)意味着:

  • 无需修改架构即可添加/删除列
  • 能够存储你想要的任何东西
  • 但是:您将无法在MySQL端使用这些数据 - 尤其是,您将无法在where子句中使用这些数据.
    基本上,这意味着使用MySQL来存储数据 - 而不仅仅是存储

如果您只想在PHP端使用这些数据,并且永远不必使用SQL端,我认为将所有内容存储为大文本字段是一种解决方案.
(并且,在这种情况下,我不明白为什么它会比另一个解决方案慢)