相同数据插入多张表

哥子谭 2010-07-31 09:58:05
我现在有一条相同的数据,需要将这条数据插入到5000张表,
考虑到性能的问题,该操作在程序中运行会超时,如何解决,或者用什么方法代替!
循环操作和游标我都用过了,此类方法不行,都会超时
...全文
73 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
哥子谭 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ws_hgo 的回复:]
什么项目5000张表
感觉不可能??
[/Quote]
我们老板设计的,我们作为程序员只有执行,问太多没有用,比如工厂的系统
ws_hgo 2010-07-31
  • 打赏
  • 举报
回复
什么项目5000张表
感觉不可能??
哥子谭 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xys_777 的回复:]
引用楼主 a13062331830 的回复:
我现在有一条相同的数据,需要将这条数据插入到5000张表,
考虑到性能的问题,该操作在程序中运行会超时,如何解决,或者用什么方法代替!
循环操作和游标我都用过了,此类方法不行,都会超时

为什么会超时,你用什么程序做的
[/Quote]
vs2008
哥子谭 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 duanzhi1984 的回复:]
超时的问题,我觉得不会吧.


你可以分批次进行插入.

每100个表做一个批次进行插入。

不过有个疑问,为什么会插入到5000个表中。

换个思路也许能同样解决此问题
[/Quote]
因为我使用的是每个用户都对应都有一张表,如果是一张表的话,那么
你取数据的时候就会到相同的表中去取,而这个就涉及到权限的问题,如果
我在保存信息的时候保存的属于我这个用户对应的一张表,那么你就不用考虑权限的问题,
因为我不是到其他地方去取数据,而是取我自己表中的数据
duanzhi1984 2010-07-31
  • 打赏
  • 举报
回复
超时的问题,我觉得不会吧.


你可以分批次进行插入.

每100个表做一个批次进行插入。

不过有个疑问,为什么会插入到5000个表中。

换个思路也许能同样解决此问题
Andy__Huang 2010-07-31
  • 打赏
  • 举报
回复
用程序来插入数据肯定会超时,
你先插入一个表,然后让存储过程读取这个表的值插入到其他表

这样可以减少访问数据库的次数,运行时间会短很多
永生天地 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 a13062331830 的回复:]
我现在有一条相同的数据,需要将这条数据插入到5000张表,
考虑到性能的问题,该操作在程序中运行会超时,如何解决,或者用什么方法代替!
循环操作和游标我都用过了,此类方法不行,都会超时
[/Quote]
为什么会超时,你用什么程序做的
obuntu 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 a13062331830 的回复:]
我现在有一条相同的数据,需要将这条数据插入到5000张表,
考虑到性能的问题,该操作在程序中运行会超时,如何解决,或者用什么方法代替!
循环操作和游标我都用过了,此类方法不行,都会超时
[/Quote]

超时的话,为什么不用分批呢。

insert就只能针对一个表,还想什么替代哦。。
水族杰纶 2010-07-31
  • 打赏
  • 举报
回复
不知道为什么同样的数据要分布在5000张表
我觉得应该换个思路
如果需要相同数据
可以跨表跨库访问就是了~
hokor 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hdhai9451 的回复:]
用程序来插入数据肯定会超时,
你先插入一个表,然后让存储过程读取这个表的值插入到其他表

这样可以减少访问数据库的次数,运行时间会短很多
[/Quote]
这个方法可以行,异步操作,程序调用数据库端存储过程就行。没必要老等待数据库相应。
再建一个日志表记录插入操作的情况。可以定期检查操作是否完成了。
而且如果个别表插入失败可好控制。

美女啊。。。。。。。
duanzhi1984 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 a13062331830 的回复:]
引用 5 楼 duanzhi1984 的回复:
超时的问题,我觉得不会吧.


你可以分批次进行插入.

每100个表做一个批次进行插入。

不过有个疑问,为什么会插入到5000个表中。

换个思路也许能同样解决此问题

因为我使用的是每个用户都对应都有一张表,如果是一张表的话,那么
你取数据的时候就会到相同的表中去取,而这个就涉及到权限的问题,如果
我在保存信息的时候……
[/Quote]
--你们的设计方法挺独特的,权限通过表来进行管理。
==哪你们的整个数据有多少个表?


22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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