问个思路:一维或多维数组怎么存储在数据库的一列里?? 20shanshen1042]

发布时间:2017-1-20 15:49:23 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"问个思路:一维或多维数组怎么存储在数据库的一列里?? 20shanshen1042]",主要涉及到问个思路:一维或多维数组怎么存储在数据库的一列里?? 20shanshen1042]方面的内容,对于问个思路:一维或多维数组怎么存储在数据库的一列里?? 20shanshen1042]感兴趣的同学可以参考一下。

最近碰到一个问题:数据库的每条记录里面需要包含多条数据(只是单纯的数字),在存储它们的时候,而我又不想设计很多列来分别存储这每个数,不知道如何实现把这些数据存在一列里或有限的列里,而不用设计大量的列。    比如,我有个一维或多维的长度为2000的数组,要求这个数组的数据和数据库的一条记录联系起来,不希望在数据库里用2000列来存数组的2000个数,请问能把这2000条数据存在一列吗?有没有什么其他高效的方法来解决这个问题?    现在很头痛,望各位指教,感激不尽!

要看你数组是什么类型的数据了 可以尝试用varchar(8000)代替 每个数组单元相当于可以占用20个字符长度 (注: 中文实际占用2个字节长度) 然后就用SUBSTRING来读取 数组某个单元的值 当然 假如是int整形 需要提取后再用CONVERT转换类型

数据库结构设计如下: create table Data( D_Id   int,  --数组表示列 D_x    int,  --数组中某个数所在的X坐标,即在第几行 D_y    int,  --数组中某个数所在的Y坐标,即在第几列 D_data int   --数组中的某个数的数值 )

数组类型是double,ayalicer(小刀惋心) 的方法我试过,这个对数组大小是有限制的,而且总觉得这样效率不高。crazyflower() 提的我也想过,只是我数据库记录数本来既有5、6000条了,每条记录再对应2000~3000的一个记录,这样数据库能撑的下吗?效率高吗?     我想可能还是应该把这些对应的数组存为文件,然后再对应的来访问它们吧!不知道还有没有其他有效的办法呢

存为文件的话也许效率会更低

就算6000条*3000个记录=18000000 你把D_X 和 D_Y 作为联合主键就可以了,D_Id可以不用 也没几兆数据 SQL查询的时候主键它本身就是带有索引的 不用怕查询效率慢的

上一篇:邹建大侠请进来看一下 50Bestkiller]
下一篇:2005 如何恢复误删除的记录 20leo_lesley]

相关文章

相关评论