做了一个小项目,用BLOB字段保存工程文件,开始做时没发现问题,随着试验数据的增多,
毛病终于出现了,含有BLOB字段的表打开太慢,最快5秒,最慢40秒都不够,这小项目没
法做了,我想了个办法,把BLOB单独做了个表,这下子有改善,没有BLOB的表一下子就快
了,要上传/下传的时候,再打开BLOB表,但解决不了根本问题,BLOB表只有两个字段:
ID INT 主键
FileSave VarBinary(MAX)上传的文件每个10几M左右,如何优化表或库的属性参数,使用BLOB表打开能快起来?
毛病终于出现了,含有BLOB字段的表打开太慢,最快5秒,最慢40秒都不够,这小项目没
法做了,我想了个办法,把BLOB单独做了个表,这下子有改善,没有BLOB的表一下子就快
了,要上传/下传的时候,再打开BLOB表,但解决不了根本问题,BLOB表只有两个字段:
ID INT 主键
FileSave VarBinary(MAX)上传的文件每个10几M左右,如何优化表或库的属性参数,使用BLOB表打开能快起来?
慢就慢在打开呀,你要访问BLOB,总归要打开它吧,它就慢
得吓人,这次领教BLOB字段的慢了,网上一搜,无数人都遇
到同样的问题.
可能会解决你的问题
把文件存在文件夹,存路径进数据库。需要用到时候load路径
建议用共享目录取而代之,共享目录可以对特定用户设置读/写权限,
用WNetAddConnection2连接,之后就是建目录,传文件了。再断开连接;
如果直接访问这个共享目录,会要求输入用户名及密码,如果在cmd.exe下,在客户机上输入下列DOS命令就可直接访问共享,不会出现用户名对话框:
C> NET USE \\IP\ShareDir$ 密码 /user:用户名
读/写属性与用户名有关,这条命令相当于客户机建立了连接,以后访问这个共享目录不会出现
对话框,如果有读写属性,这个共享目录在这台客户机就开放了(安全隐患),除非用下列DOS命令再断开连接:
C> NET USE \\IP\ShareDir$ /delete