serialize / json_encode到一个字段或将原始数据保留在db的多个字段中?

卡尔雷格

五天以来,我一直在考虑如何在新项目中存储数据。我已经阅读了很多有关序列化或json_encoding的优缺点的文章,也有关于搜索具有数千条记录的数据库的文章。这是问题所在。

考虑我正在做一个游戏-我有成千上万个地点,每个地点可能都有一些物体。对象的数量是有限的,但我想每个位置可能有10-20个对象。每个对象都有一些属性(例如特权),有时需要检查,更新等等,因此我必须将其存储在db中。

我看到两个选择可以做到这一点:

  • 简单的数据库方式,使用第一个数据库规范化形式-将每个对象存储为数据库中的一行,将每个属性存储为列。我可以轻松地检索数据,只需一个ID即可将其连接到特定位置。问题在于,db中可能存在(并且将会有)数千行-所有对象*大量的位置,并且搜索它的时间可能非常昂贵。如果将其乘以同时搜索数据库的玩家数量,则可能杀死DB。

  • 第二种方法是序列化或json编码(或什至内爆)其具有所有属性的当前位置中的所有对象。我猜每个对象可能具有100个属性*序列化的20个对象可能不是很小的值数组。因此,将2000个(关联键+ int值)元素序列化并保存在每个位置的一个字段中。数据库的搜索要少得多-只需将id设置为主键并进行搜索,但是稍后我必须反序列化所有数据。它也可能很昂贵。

我知道我没有在此处放置任何代码(尚无代码),所以这是一个非常虚拟的问题,但是我想知道您是否曾经检查过哪种更好的解决方案-将大量数据存储在一个文件中,但是将其序列化或将其序列化分散到db中的多行。

希望您能分享您的经验:)

卡尔雷格。

缺口

关系数据库搜索非常快。如果设置正确,它也非常灵活。因此,编码过程将是最耗时的因素。JSON的好处是服务器-客户端数据传输。就我个人而言,我将使用可靠的选项1,但希望在客户端尽可能多地缓存数据,例如HTML存储。

我还注意到您正在使用PHP。您想要的是一种页面重载最少的AJAX方法,尽管我可能过度阅读了您的标签。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

serialize / json_encode到一个字段或将原始数据保留在db的多个字段中?

来自分类Dev

从Json Serialize动态忽略c#字段

来自分类Dev

PHP从Jquery .serialize丢失数据

来自分类Dev

Python serialize objects list to JSON

来自分类Dev

取一个字符串,反转每个单词中的字母,同时将单词保留在其原始位置

来自分类Dev

将多个组合框插入数据库中的一个字段

来自分类Dev

如何将数据从一个字段复制到SQL Server中不同行中的另一个字段

来自分类Dev

serialize-使用serialize()将值传递到数据库

来自分类Dev

数据电源中的dp:serialize函数

来自分类Dev

在一个字段中存储多个参考

来自分类Dev

Django 一个字段中的多个文件

来自分类Dev

如何使用LINQ将多个字段组合为一个字段

来自分类Dev

角度将多个字段联接到一个字段

来自分类Dev

如何将多个字段合并为一个字段

来自分类Dev

如何使Json Serialize忽略字典键

来自分类Dev

使用serialize()解析JSON请求失败;

来自分类Dev

jQuery .serialize()在Angular中无法正常工作

来自分类Dev

什么是std:serialize中的struct变量枚举?

来自分类Dev

现有ajax函数中的Serialize()形式

来自分类Dev

serialize()在mvc中给出空值

来自分类Dev

如何将两个字段(不同)查询到一个字段中

来自分类Dev

如何将两个字段(不同)查询到一个字段中

来自分类Dev

用Jackson将多个json键反序列化为一个字段

来自分类Dev

如何将一个表中的两个字段关联到另一个表中的一个字段

来自分类Dev

如何使用Ajax .serialize()数据将表单发布到PHP?

来自分类Dev

如何使用Ajax .serialize()数据将表单发布到PHP?

来自分类Dev

如何从多个表中获取一个字段的数据?

来自分类Dev

我可以将多个 MySQL 列连接到一个字段中吗?

来自分类Dev

C++11,仅将一个字段复制到向量中

Related 相关文章

  1. 1

    serialize / json_encode到一个字段或将原始数据保留在db的多个字段中?

  2. 2

    从Json Serialize动态忽略c#字段

  3. 3

    PHP从Jquery .serialize丢失数据

  4. 4

    Python serialize objects list to JSON

  5. 5

    取一个字符串,反转每个单词中的字母,同时将单词保留在其原始位置

  6. 6

    将多个组合框插入数据库中的一个字段

  7. 7

    如何将数据从一个字段复制到SQL Server中不同行中的另一个字段

  8. 8

    serialize-使用serialize()将值传递到数据库

  9. 9

    数据电源中的dp:serialize函数

  10. 10

    在一个字段中存储多个参考

  11. 11

    Django 一个字段中的多个文件

  12. 12

    如何使用LINQ将多个字段组合为一个字段

  13. 13

    角度将多个字段联接到一个字段

  14. 14

    如何将多个字段合并为一个字段

  15. 15

    如何使Json Serialize忽略字典键

  16. 16

    使用serialize()解析JSON请求失败;

  17. 17

    jQuery .serialize()在Angular中无法正常工作

  18. 18

    什么是std:serialize中的struct变量枚举?

  19. 19

    现有ajax函数中的Serialize()形式

  20. 20

    serialize()在mvc中给出空值

  21. 21

    如何将两个字段(不同)查询到一个字段中

  22. 22

    如何将两个字段(不同)查询到一个字段中

  23. 23

    用Jackson将多个json键反序列化为一个字段

  24. 24

    如何将一个表中的两个字段关联到另一个表中的一个字段

  25. 25

    如何使用Ajax .serialize()数据将表单发布到PHP?

  26. 26

    如何使用Ajax .serialize()数据将表单发布到PHP?

  27. 27

    如何从多个表中获取一个字段的数据?

  28. 28

    我可以将多个 MySQL 列连接到一个字段中吗?

  29. 29

    C++11,仅将一个字段复制到向量中

热门标签

归档