+ -
当前位置:首页 → 问答吧 → 求数据库存储速度以及解决方案

求数据库存储速度以及解决方案

时间:2011-11-22

来源:互联网

OS:WinXP SP3
DB:MSSQL2005开发版
SP:SP3

数据库表有1024个整数字段或者890个浮点数据字段。在写入一条记录时,用存储过程发现时间会比直接用SQL语句还要慢上一倍左右。直接用SQL语句插入的时候,我能做到的最大速度是60毫秒左右。求哪位大侠能给个方案,能不能做到存储一条记录控制在20毫秒以内。我使用的是CE程序通过TCP/IP协议进行数据库访问,并且是局域网(大侠们,我已经为这个问题发贴三次了,求解决啊,分数已经用的差不多了,请大家帮帮忙)

作者: fengkeyiren   发布时间: 2011-11-22

千万别让帖子沉下去啊,没分了呀TAT

作者: fengkeyiren   发布时间: 2011-11-22

一个表有1024个字段?能不能拆分,将要记录的信息归类,不同的类用不同的表?

作者: jyh070207   发布时间: 2011-11-22

引用 2 楼 jyh070207 的回复:

一个表有1024个字段?能不能拆分,将要记录的信息归类,不同的类用不同的表?


本来整张表有8196个字段的,但是因为一张表最多支持1024个整数字段所以这已经是拆了之后的表了。这张表已经是记录的一条记录的一部分了

作者: fengkeyiren   发布时间: 2011-11-22

楼主拆分表结构吧。

作者: haosa   发布时间: 2011-11-22

引用 4 楼 haosa 的回复:

楼主拆分表结构吧。


现在已经拆成5个表了,还要拆

作者: fengkeyiren   发布时间: 2011-11-22

一个表8196个字段
还没用过

作者: pengxuan   发布时间: 2011-11-22

如果不能拆分,在sql方面检查有没有用触发器,最好是没有用,另外,检查不必要的索引或外键约束,

还不行的话,想想硬件方面是否可以提升,主要是磁盘I/O方面。

作者: jyh070207   发布时间: 2011-11-22

引用 6 楼 pengxuan 的回复:

一个表8196个字段
还没用过


以前我也没遇到过啊,这次接手一个做了一半的项目,没办法啊

作者: fengkeyiren   发布时间: 2011-11-22

如果是商业系统,或者看看供应商或其它用户有没有好的解决方法...

作者: jyh070207   发布时间: 2011-11-22

引用 7 楼 jyh070207 的回复:

如果不能拆分,在sql方面检查有没有用触发器,最好是没有用,另外,检查不必要的索引或外键约束,

还不行的话,想想硬件方面是否可以提升,主要是磁盘I/O方面。


现在表上什么都没有做,不过以后索引是肯定要建的,不然时间一长数据一多怎么查啊。现在问题是我想知道如果表上面什么都不建,通过TCP/IP访问的最快速度是多少,硬盘速度现在是300M/S

作者: fengkeyiren   发布时间: 2011-11-22

我想问一下,为什么我用存储过程会比直接用SQL语句的速度要慢呢,这做何理解

作者: fengkeyiren   发布时间: 2011-11-22

各位大侠们,帮帮忙啊,为什么我用存储过程还比直接SQL语句还慢了一倍多时间呢

作者: fengkeyiren   发布时间: 2011-11-22

一个表8196个字段

作者: Beirut   发布时间: 2011-11-22

要不你用宽表,最大可以支持3w 列。不过增加维护表的开销会更大

作者: Beirut   发布时间: 2011-11-22

如果正常情况下,系统每产生一条记录是有5秒种左右的时间的。但是在设备开机的时候数据产生速度会非常快,可能就50MS就会产生一条数据,我们原来的解决方案是使用SQLite数据库把这种瞬时高数据量的数据存放在本地。但现在设备升级了,一个设备可能要存放多达几十个接口的数据,怕这种瞬时产生的数据量会把SQLite数据库撑爆,所以想直接存到服务器上面去。求各位帮帮忙

作者: fengkeyiren   发布时间: 2011-11-22

引用 14 楼 beirut 的回复:

要不你用宽表,最大可以支持3w 列。不过增加维护表的开销会更大


大哥,现在我要求的迅速存储,已经分表了,所以以不存在再来使用宽表的

作者: fengkeyiren   发布时间: 2011-11-22

字段过多,不解释了

作者: geniuswjt   发布时间: 2011-11-22

引用 17 楼 geniuswjt 的回复:

字段过多,不解释了


TAT要是字段不多,也用不着连发3贴了哦····

作者: fengkeyiren   发布时间: 2011-11-22

明显的表结构问题。

一个表8196个字段!!!!!

作者: szstephenzhou   发布时间: 2011-11-22

引用 17 楼 geniuswjt 的回复:

字段过多,不解释了


用存储过程比直接用SQL语句还要慢,也是字段过多吗

作者: fengkeyiren   发布时间: 2011-11-22

引用 19 楼 szstephenzhou 的回复:

明显的表结构问题。

一个表8196个字段!!!!!



是一条记录的数据种类有这么多,因为刚刚接手这个项目,从来没遇到过这么多字段的,我都看傻眼了

作者: fengkeyiren   发布时间: 2011-11-22

在说一下,现在一个表只有1024个int类型字段,因为我已经分表了,想知道存储的最快速度是多少

作者: fengkeyiren   发布时间: 2011-11-22

实用存储过程很慢?单条插入语句没有必要用存储过程

作者: ssp2009   发布时间: 2011-11-22

引用 23 楼 ssp2009 的回复:

实用存储过程很慢?单条插入语句没有必要用存储过程


那如果插入5条数据呢,使用存储过程速度会有提升吗

作者: fengkeyiren   发布时间: 2011-11-22