C#远程访问SQL特别慢

真的是太慢了尤其是要读取数据库中的图片数据的时候,高手求解决,... 真的是太慢了 尤其是要读取数据库中的图片数据的时候,高手求解决, 展开
 我来答
创作者zUzVB1Sl31
推荐于2016-07-11 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部

从数据库读取图片是个相当不理智的选择。你想读取快速就要在SQL Server上写存储过程,命名主键,然后直接用SqlClient访问你做好的视图,而不是利用SqlClient做解析、做连接查询等工作。因为他的计算效率依赖于网络,要分析也是从SQL读取表到本地,然后本地边读取边去查询远程表,这能不慢吗,写多了你慢慢会发现:

  1. 在SQL Server上做好查询视图,C#直接访问远远比C#分析快

  2. 用代码来做数据库操作远远比自带的控件灵活快速

  3. 其实连接一样的你打开一次就足够了,程序Exit自然关闭,当你程序初始化的时候就openlink打开数据库连接,后面再去公用这个连接,程序关闭C#回收垃圾机制会销毁。不需要你真的去try打开他catch异常,flinnly关闭,不知道大家有没有发现连接数据库也需要时间的,关闭它也是浪费时间的。

  4. 触发器和同步用SQL Server代理去做,每日做好计划代理就OK

  5. 不要真的去把数据库发布到外部网络,在设备允许范围你会发现这是一个很蠢的事情,通过webservice或者WEB来操作来自外网服务器的数据库。

  6. 用linkq解决很多问题,list<>远远比Arraylist要快,Arraylist依赖系统缓存,当你数据量超出系统缓存的时候,你会发现各种错误各种卡...

  7. 借助dataGridView,他其实是个好东西,你把数据存进去,再去交叉分析其他数据,会事半功倍,永远不要在C#里使用Select *,   连接查询 ,游标,检索ID,你会发现真的很呆

匿名用户
2015-04-27
展开全部
如果服务器没问题,那就是网络问题,这个网络上传速度正常都是512k,肯定慢了,建议你做图片的时候上传下载都在本地文件夹先储存,利用建立图片名称使用GUID唯一性来识别从不存在,再去读取。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
N多的肉
2015-04-27 · TA获得超过3541个赞
知道小有建树答主
回答量:2260
采纳率:34%
帮助的人:615万
展开全部
带宽问题??内存问题?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式