最近有一个项目上需要一个庞大的数据量,需要很多列,但是百度查了一下sqi server最多支持1024列,这一限制适用于大多数表类型,包括常规表,临时表和表变量,要注意的是如果超出这一限制可能会导致数据的完整性问题或性能下降。
和大哥讨论了一下,因为每一次采集就有将近400个点的数据,需要一直采集,有很多这个设备,显然如果横着放是不现实的,讨论一下就决定把400个点的数据以十六进制的形式存到一个单元格中,这样需要用的时候再拿出来解析一下就可以了,并且搜索了一下,sql server数据表中的单元格是可以支持很多数据的最多支持2的32次方个字节。
这里插入数据还是用到我们上次说的sql server的程序框图,我们先设置一个主键,然后就可以一直往数据库里面写入数据,把每次的读取的数据存入一个单元格中。
可以看到并没有出现数据丢失的情况,我们是可以看见数据都存放在一个单元格当中,虽然是乱码的格式,但是如果以十六进制显示是可以正常显示的,我们需要用的时候在读取出来就可以了的。这样就可以存放大量的数据,但是不影响我们实际的使用。
我们可以看到如果在word里面打开的话,一个单元格是有769个字数,还可以更大,这个数据还是非常可观的,但是会遇到一个问题就是我们把他放到控件里时会出现一些数据丢失的情况。但是后面又测了几次没有出现类似的情况,目前还不清楚是哪个地方出了问题。也可能是数据读写错了。