※ 引述《skitty (aki)》之铭言:
: 我要写一个功能是去读网页回传的资料
: 再写到数据库里
: 回传给查询者
: 资料量很大也常常需要更新
: (类似商品库存量一直变动)
: 目前卡在如果有新商品出现
: 我需要去检查数据库有没有这个商品
: 来决定下insert或update
: 变成每个商品都要去连一次数据库效能很差
: 目前有三个方向但不是很确定:
: 1. google说可以把指令串在一起一次执行
: 变成"比对…… insert……比对……update"
: 但这样指令会变成很长一串字串
: 这样算是好的解法?
: 而且如果商品名称有 ' 出现
: 指令就不行了
: 2.每次都把数据库旧资料砍掉
: 在内存生成新资料的table
: 再塞新资料进去
: 3.写一支SP
: 但这样每次还是要开数据库连线
: 执行端是C#程式暂且在这里发问
: 若觉得不恰当我再去DATABASE问 谢谢
在提升后端效能的前提下
你应该要思考几件事情
1.目标是什么
现在执行一次要多久时间? 预计提升多少执行速度?
2.瓶颈在哪里
数据库或是网页回传的速度 还是比对的方式不好?
3.比对要在哪里做
在sqlcommand 在C#里 还是抓资料的时候就可以先用jquery做筛选?
4.一次可以比对几笔
一笔 or 很多笔 如果要比对很多笔 是要异步或是要平行处理吗?
要先把资料抓出来转成List提升比对速度吗?
我是觉得问题应该不在数据库连线的部分
sqlcommand没有很复杂的前提下 要很明显再提升执行效率的机会不高