Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我应该使用什么方法在SQL中存储大量数据?_Mysql_Sql - Fatal编程技术网

Mysql 我应该使用什么方法在SQL中存储大量数据?

Mysql 我应该使用什么方法在SQL中存储大量数据?,mysql,sql,Mysql,Sql,我想将游戏资源清册信息存储到SQL中 我应该使用什么方法来最大限度地提高性能成本 我要存储的数据是: 插槽ID从0到608; 项目ID从0到66000; 我可以想到两个想法: 使用;分隔符,所有608项进入1列。。。 或每个用户UserID+Inv的新表,我可以这样存储: 第三种方法可能是最好的方法。包含三列的单个表: UserID | SlotID | ItemID --------+---------+------- XXX | 000 | 3001 XXX |

我想将游戏资源清册信息存储到SQL中

我应该使用什么方法来最大限度地提高性能成本

我要存储的数据是:

插槽ID从0到608; 项目ID从0到66000; 我可以想到两个想法:

使用;分隔符,所有608项进入1列。。。 或每个用户UserID+Inv的新表,我可以这样存储:
第三种方法可能是最好的方法。包含三列的单个表:

UserID  | SlotID  | ItemID
--------+---------+-------
XXX     | 000     | 3001
XXX     | 001     | 0
XXX     | 002     | 65001

也就是说,用户ID存储在表中,每个组合都有一个单独的行。

Define:defing。。。关于分隔符,所有内容都进入一列-不要这样做,它破坏了使用关系数据库的全部意义。如果您只想存储blob,那么就使用键/值存储,比如MongoDB或BerkeleyDB。不管数据来自何处,它们都会进入sql数据库。现在我想你是有点困惑了,你上床睡觉睡了一会儿,明天你去谷歌看了一些教程。然后你就可以整理并解决你的问题了。现在听起来我想要一切,我对任何事情都没有意义,但我想要免费的:对不起,我想我真的需要睡觉了。挣扎-天啊,我很惭愧。。。我不想在一次查询中查询用户库存600项时使用太多性能@戴,关于斑点的快速研究,我想这是我需要的一件事。我是一名非常基础的程序员,虽然我通常会自己找到解决方案,但我对性能成本一无所知。在查询所有行的用户id时,这不是真的会消耗高性能吗?我最担心的是表现。行数与单个列/行中的数据量总是要权衡的。如果您想要一个查找包含项目3001的每个插槽的查询,该怎么办?将项目列表存储为;分隔字符串使这种类型的搜索性能非常差。@BillKarwin我想我过于小心了,不担心sql性能成本。。。我仍然无法自己管理什么是最好的方法,但这第三种方法似乎非常适合以后的咨询。每种类型的优化都针对一种类型的查询进行优化,而以牺牲其他类型的查询为代价。如果您按照规范化规则存储数据,您将有一个折衷方案,它可能为所有类型的查询提供足够好的性能。但规范化的真正目的是防止更新异常。@AngeloSilva您可能想阅读我的答案
table: 70001Inv

SlotID    | ItemID
----------+-----------
000       | 3001
001       | 10000
002       | 65001
UserID  | SlotID  | ItemID
--------+---------+-------
XXX     | 000     | 3001
XXX     | 001     | 0
XXX     | 002     | 65001