我正在使用javascript插件heatmap.js(http://www.patrick-wied.at/static/heatmapjs/)来跟踪鼠标移动和点击次数。这个插件会生成大量数据
"data":[{"x":"17","y":"-8","radius":8,"value":1},
{"x":"23","y":"-47","radius":8,"value":1},...
]
大约10000点/ 20秒的活动。
在SQL Server中存储此数据的最有效方法是什么。
目前我正在使用varchar(max)
来存储每10000个积分。但是想看看是否有更有效的方法来压缩和存储这些信息。
答案 0 :(得分:0)
您可以使用与JSON节点的架构匹配的架构创建一个表 - 在这种情况下,它看起来像是包含x,y,radius和value的列。这将减少存储的属性标题(x,y,radius和value)和分隔符({,:,",}和,)的长度,并将值存储为数字而不是字符串需要更少的磁盘空间。
另一种方法是使用压缩库(如zlib)压缩和解压缩原始数据,然后再将其存储为二进制blob。大多数压缩算法都会有效地消除流中重复令牌的开销(相同的属性头)。