2017-08-21 65 views
2

我有一个传感器发送x,y和z值,我想将这些数据保存在MySQL数据库的一行/单元格中。由于传感器会在一分钟内发送数千个数据(x,y,z),并且我知道是否将每个x,y和z数据插入新行中,因此需要花费时间来获取所有这些数据,这非常耗时。我知道这在Neo4j中是可行的,但我不确定在MySQL中是否可行。如果是这样,任何人都可以通过示例来帮助我吗?是否可以在mysql中的一个单元格中添加一组元素?

下一张图片显示了我希望如何插入数据。 [Example of the database that I am trying to use]

+0

从它的外观来看,x,y和z应该是同一行上的不同列。如果将来只需要某些函数,则可能会导致不必要从数据库返回的值中删除x和z。 – coderodour

回答

2

从MySQL 5.7,你可以有JSON fields

INSERT INTO t1 VALUES('[{"x":20,"y":40,"z":50},{"x":30,"y":50,"z":60}]'); 

然后,为了获得例如每行所有的X坐标:

SELECT data->"$[*].x" FROM t1; 

Fiddle

然而,我认为每个坐标都有一个单独的字段也可以。即使你在一个领域拥有所有的坐标,你也需要在你的应用中处理它们。大多数情况下,你无法在数据优化检索中击败MySQL。

+0

谢谢你的回复。是否有可能相同的密钥在同一个单元中可以有不同的值?如我的图片所示。 @ishegg –

+0

绝对如此。这是一个JSON字段,您可以将任何可以编码的东西放入JSON中。我编辑了答案以显示更多记录的数据。 – ishegg

+0

您可以请我看一下数据库创建的例子,因为我查看了您的链接,但仍找不到创建数据库的方式。 –

相关问题