首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

数据库中大批量记要的合并操作

2012-12-28 
数据库中大批量记录的合并操作?有两张数据库表基本信息表(学号,性别,年龄,出生日期。。)有1亿条记录参加项目

数据库中大批量记录的合并操作?
有两张数据库表
基本信息表(学号,性别,年龄,出生日期。。)有1亿条记录
参加项目表(学号,项目名称,项目日期,项目大小,备注)有5000万记录(不是每个学生都有对应项目信息)

现在要将这两张表合并,内存有1g,
请问怎么处理
[最优解释]


select a.*,项目名称,项目日期,项目大小,备注
from 基本信息表 a
left join 参加项目表 b
on a.学号=b.学号


---草根说的没错

[其他解释]
引用:
有两张数据库表
基本信息表(学号,性别,年龄,出生日期。。)有1亿条记录
参加项目表(学号,项目名称,项目日期,项目大小,备注)有5000万记录(不是每个学生都有对应项目信息)

现在要将这两张表合并,内存有1g,
请问怎么处理

select m.* , n.* from 基本信息表 m left join 参加项目表 n on m.学号 = n.学号

[其他解释]
溢出倒不会,不过花儿会等到谢了的
[其他解释]
提高硬件性能,顺便学习一下拉
[其他解释]
建个视图
[其他解释]
内存只有1g啊

[其他解释]
会不会溢出
[其他解释]
操作起来内存有1g?????
[其他解释]
1G的内存估计用什么都不行
[其他解释]
引用:
会不会溢出


溢不出来,
[其他解释]
该回复于2009-10-19 10:42:12被版主删除
[其他解释]
没看到新鲜的东西...继续顶去...
[其他解释]
数据量都不少
[其他解释]
 一行一行读。。读到花儿谢了再开。
[其他解释]
引用:
一行一行读。。读到花儿谢了再开。


1亿 left join  5000W 合并,执行完可以不管了,让他慢慢跑。。。。 服务器不要做别的了,硬盘闪啊闪。

会好的,要有耐心
[其他解释]
机器跑这个....
就像我小时候的口号--实现四个现代化
[其他解释]
引用:
引用:
一行一行读。。读到花儿谢了再开。


1亿 left join? 5000W 合并,执行完可以不管了,让他慢慢跑。。。。 服务器不要做别的了,硬盘闪啊闪。

会好的,要有耐心

亿级的数据, 用1G的内存。。估计有的等!!
[其他解释]
上亿的学号,学校真是历史很长了,不知你合并后用来干嘛,导出、实时查询还是其它呢?
[其他解释]
有好点的办法吗
[其他解释]
是啊,会很漫长的。
建议:等到合并后弄成个分区表吧!
[其他解释]
如果是实时查询,就可以用存储过程来做
[其他解释]
关注yix9999999999999999
[其他解释]
把硬盘摘了,挂到个好的服务器上,要不买条内存
------其他解决方案--------------------


如果在项目表里没有学号的信息不列出来的话可以这么做

select a.*,b.项目名称,b.项目日期,b.项目大小,b.备注 from 基本信息表 a
left join 参加项目表 b on a.学号=b.学号
where a.学号 not in
   ( select distinct(学号) from 参加项目表 )

不过数据量这么大的话还是需要提高一下机器的配置才行,要不运行速度会很慢。而且最好把这个查询写道存储过程中,效率能提高些。还要注意给这两个表建索引。
[其他解释]
ding
[其他解释]
提高硬件性能
[其他解释]
好,准备以后学习呢
[其他解释]
建一个视图,再跟视图建一个索引就可以达到一个表单的效果。
[其他解释]
ding

热点排行