以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]二进制列保存文件时间  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57924)

--  作者:jspta
--  发布时间:2014/10/8 13:52:00
--  [讨论]二进制列保存文件时间
二进制列保存的文件时间好像有点长,6M的文件保存长达17秒,平均400K/s, MSSQL2005,局域网,不知道各位的速度如何?
--  作者:有点甜
--  发布时间:2014/10/8 13:59:00
--  

取决于你sqlserver的访问速度,同时,二进制文件读写保存的算法也应该可以改进下。


--  作者:jspta
--  发布时间:2014/10/8 14:51:00
--  
以下是引用有点甜在2014-10-8 13:59:00的发言:

取决于你sqlserver的访问速度,同时,二进制文件读写保存的算法也应该可以改进下。


速度肯定没问题,语法就是


cmd.CommandText = "Insert aaa values(0x" + ImageString + ")"  


读取还是比较快的,1-2秒,但是写入就太慢了


--  作者:有点甜
--  发布时间:2014/10/8 15:11:00
--  
 插入慢,会不会是其它问题?比如你建了索引或者约束什么的,同时文件数量也较多
--  作者:jspta
--  发布时间:2014/10/8 15:30:00
--  
以下是引用有点甜在2014-10-8 15:11:00的发言:
 插入慢,会不会是其它问题?比如你建了索引或者约束什么的,同时文件数量也较多
只有主键索引_Identify, 空表


--  作者:狐狸爸爸
--  发布时间:2014/10/8 15:32:00
--  

你自己编写sql语句写二进制文件吗?

有没有试过最近新增的SQLInsertFile来写二进制文件?


--  作者:jspta
--  发布时间:2014/10/8 17:54:00
--  
以下是引用狐狸爸爸在2014-10-8 15:32:00的发言:

你自己编写sql语句写二进制文件吗?

有没有试过最近新增的SQLInsertFile来写二进制文件?


试过了,大约4秒,速度快很多。

可是这种绑定的方案不适合我设计的表结构。需要一种开放的方法去执行插入。

目前Foxtable提供方法也是可行,不过比较麻烦点,代码并不多,但是要绕很多圈才能实现。

希望狐表能提供更好的方案。



--  作者:狐狸爸爸
--  发布时间:2014/10/8 17:58:00
--  

我不明白:

 

Insert aaa values(0x" + ImageString + "“)

 

是直接插入一个文件。

 

SQlInsertFile也是直接插入一个文件。

 

二者只是代码不同啊,结果是一样的,是什么样的原因导致不能用SQLInsertFile?