SQLSERVER 大数据量查询比较(不同数据结构)??

whxxr 2012-06-16 11:38:40
如果将一张EXCEL表的每一个单元格的数据进行保存.EXCEL表大概是400多列.20行.

如果TABLE1结构是(相当于一条记录存了一张EXCEL表):
单位编号 行1列1,行1列2,行1列3....行1列400...行2列1,行2列2,行2列3.....行400,列20

TABLE2结构是(就是4列,相当于800多行记录存了一张EXCEL表):
单位编号 行编号 列编号 数据


现在就是数据量很大.如果达到30万条以后.
TABLE1的记录就是30万条,
而TABLE2的记录相当于是300000*800=2.4亿条

请问在进行数据查询时哪个数据结构好呀????
...全文
243 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tim_spac_126 2012-06-18
  • 打赏
  • 举报
回复
or
-- 属性字典
create table dd_attrib (
attrib_id int primary key
attrib_name ..
defalut_falue ..
)
SQL777 2012-06-16
  • 打赏
  • 举报
回复
哪种结构好不好。要看你怎么查询。怎么插入。更新 这些
whxxr 2012-06-16
  • 打赏
  • 举报
回复
只有一个SHEET1.
人生无悔 2012-06-16
  • 打赏
  • 举报
回复
excel中最大行号不是6万多吗?
若是用一张excel存,你不感觉你表TABLE2设计有问题吗?
至少要知道这个人的数据在哪个sheet吧
haitao 2012-06-16
  • 打赏
  • 举报
回复
mssql的表的字段数好像最多255左右

TABLE1的记录就是30万条?相当于有30万个excel表?!

可以折衷一下:一条记录对应excel的一行,但是400列还是超出了mssql的字段限制
则改为:一条记录20个字段对应excel的一列的20行,则30万个excel表就是30万x400列=1200万条记录
tim_spac_126 2012-06-16
  • 打赏
  • 举报
回复
不过建议 table 定义为:

-- 对象基本属性, 存放常用的公共属性
create table bo_object (
object_id int primary key,
object_basicInfo ..
)

-- 对象扩展属性
create table bo_object_ext (
object_id int,
attrib_id int,
value ..
primary key (object_id, attrib_id)
)

-- 属性字典
create table dd_attrib (
attrib_id int primary key
attrib_name ..
)
tim_spac_126 2012-06-16
  • 打赏
  • 举报
回复
从"object"角度考虑,每个实体(excel的一行)有n个属性;
用第一种方式要预先知道都有哪些属性被关注、被定义;同时这些属性数据被明确地保存;
用第二种方式对具体的某个实体可以仅保存那些你知道的每个属性,未知数据以“默认值”的形态在应用中赋值;可能实际要保存的数据量会少不少;
whxxr 2012-06-16
  • 打赏
  • 举报
回复
数据录入和更改一般很少,主要是用来汇总查询统计.

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧