asp操作百万级数据库

liuhaibing0903 2009-03-03 02:54:07
最近给一工厂做项目,关于产品的条形码的存储问题

需要设计一个数据表,用来保存每个产品的条形码的,表的字段不多,

但是每天产生的数据量很大(几百万,每生产一个产品,都要把产品条形码扫描出来并插入到这个表中,
工厂每天的生产量很大)
请问有什么办法能把每次的插入速度提上来?

用ASP.NET速度是不是会比ASP快?
...全文
226 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanabe 2009-03-31
  • 打赏
  • 举报
回复
up~
hello晨光 2009-03-30
  • 打赏
  • 举报
回复
主要在写程序的人,还有数据结构要分配清楚合理.
wanabe 2009-03-30
  • 打赏
  • 举报
回复
每天都产生几百万。。。?肯定一张表是绝对不行的
插入的时候速度都差不多的,主要是查询的时候要做好优化
lei291315164 2009-03-04
  • 打赏
  • 举报
回复
(1)优化SQL语句;
(2)建议插入数据之前删掉索引,插入后重建索引;
方法1:使用批量拷贝方法
set arraysize 20
set copycommit 5000
copy from scott/biohazard@top a append
using select * from b;
方法2:使用游標,每5000,10000条commit
declare
cursor cur_select is
select time, num from b;
num number := 0;
record_type b%rowtype;
begin
open cur_select;
loop
exit when cur_select%notfound;
fetch cur_select
into record_type.time, record_type.num;
insert into a values (record_type.time, record_type.num);
num := num + 1;
if num = 10000 then
commit;
num := 0;
end if;
end loop;
close cur_select;
commit;
end;
方法三:alter session set sort_area_size=100000000;
insert into tableb select * from tablea;
commit;
redsnow_007 2009-03-04
  • 打赏
  • 举报
回复
对于插入这种操作我觉得sql优化的空间不大

1.缓存一定量记录,然后一次插入.
2.分表存储.
a071300726 2009-03-04
  • 打赏
  • 举报
回复
建议看下数据结构方面的书,对于这方面比较有作用
chen8967 2009-03-03
  • 打赏
  • 举报
回复
条码反映的是不是产品的序号?产品序号有没有什么规律?
如果顺序号,就把连续的号码起始和结束记录下来,也不见得每个产品对应一行。
superbigbird 2009-03-03
  • 打赏
  • 举报
回复
分表存,同意
空心兜兜 2009-03-03
  • 打赏
  • 举报
回复
还是看数据库怎么弄
ChinaXtHuLang 2009-03-03
  • 打赏
  • 举报
回复
3楼,4楼。5楼的都是高手。也说的对。。
顶。
javaxi 2009-03-03
  • 打赏
  • 举报
回复
建议使用sql2005,超爽
YapingXin 2009-03-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 layers2323 的回复:]
建议分表存。
[/Quote]

同意。
YapingXin 2009-03-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 liuhaibing0903 的帖子:]
最近给一工厂做项目,关于产品的条形码的存储问题

需要设计一个数据表,用来保存每个产品的条形码的,表的字段不多,

但是每天产生的数据量很大(几百万,每生产一个产品,都要把产品条形码扫描出来并插入到这个表中,
工厂每天的生产量很大)
请问有什么办法能把每次的插入速度提上来?

用ASP.NET速度是不是会比ASP快?

[/Quote]


这个问题,跟你是用ASP还是ASP.NET没有必然的联系。

那么什么是和这个问题有必然联系的因素呢?是:1)数据库设计得是否合理;2)对数据库的调用是否合理(比如说你采用的SQL语句是否高效)。
layers2323 2009-03-03
  • 打赏
  • 举报
回复
建议分表存。
三楼の郎 2009-03-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 liuhaibing0903 的帖子:]
每天产生的数据量很大(几百万,每生产一个产品,都要把产品条形码扫描出来并插入到这个表中,
工厂每天的生产量很大)
[/Quote]
每天几百万不见得都要存到一张表里面,可以按时间分开存,1天一张表,再优化一下表结构和SQL语句,问题应该不大。
泡面之夏 2009-03-03
  • 打赏
  • 举报
回复
看你怎么写,asp写的好,速度比asp.net快很多
优化下你的sql语句,看下sql优化方面的
knife_yu 2009-03-03
  • 打赏
  • 举报
回复
用ASP.NET+MSsql2005速度比ASP+mssql2000快很多!

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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