Re: [问题] 后端提升查询的效能

楼主: Laluth (阳光)   2016-12-16 10:54:35
※ 引述《skitty (aki)》之铭言:
: 我要写一个功能是去读网页回传的资料
: 再写到数据库里
: 回传给查询者
: 资料量很大也常常需要更新
: (类似商品库存量一直变动)
: 目前卡在如果有新商品出现
: 我需要去检查数据库有没有这个商品
: 来决定下insert或update
: 变成每个商品都要去连一次数据库效能很差
: 目前有三个方向但不是很确定:
: 1. google说可以把指令串在一起一次执行
: 变成"比对…… insert……比对……update"
: 但这样指令会变成很长一串字串
: 这样算是好的解法?
: 而且如果商品名称有 ' 出现
: 指令就不行了
: 2.每次都把数据库旧资料砍掉
: 在内存生成新资料的table
: 再塞新资料进去
: 3.写一支SP
: 但这样每次还是要开数据库连线
: 执行端是C#程式暂且在这里发问
: 若觉得不恰当我再去DATABASE问 谢谢
在提升后端效能的前提下
你应该要思考几件事情
1.目标是什么
现在执行一次要多久时间? 预计提升多少执行速度?
2.瓶颈在哪里
数据库或是网页回传的速度 还是比对的方式不好?
3.比对要在哪里做
在sqlcommand 在C#里 还是抓资料的时候就可以先用jquery做筛选?
4.一次可以比对几笔
一笔 or 很多笔 如果要比对很多笔 是要异步或是要平行处理吗?
要先把资料抓出来转成List提升比对速度吗?
我是觉得问题应该不在数据库连线的部分
sqlcommand没有很复杂的前提下 要很明显再提升执行效率的机会不高
作者: YahooTaiwan (超可爱南西我老婆)   2016-12-16 10:56:00
你在写什么废话??SQL 效能调校的学问很深的,跟本文的废话完全无关
作者: Peruheru (还在想)   2016-12-16 11:40:00
他的意思是找瓶颈才是最重要的,就像不能电脑慢就换CPU
作者: chatnoir (对不起)   2016-12-16 13:28:00
本文作者只是希望原po先找出瓶颈点吧,别这么呛.. @@
作者: YahooTaiwan (超可爱南西我老婆)   2016-12-16 13:31:00
我只是觉得,本回复看起来不像是一个做过大量负载系统的人会回的话
作者: Litfal (Litfal)   2016-12-16 14:01:00
请楼上回一篇不是废话的比较快,呛别人废话也是一种废话..
作者: YahooTaiwan (超可爱南西我老婆)   2016-12-16 14:31:00
上一篇已经有人答出正解,我就不再废话了抱歉,太简单的问题我很懒得回
作者: spfy (spfy)   2016-12-16 16:16:00
我也觉得这篇和楼上说的根本不是同件事阿...
作者: bbcust (bbcust)   2016-12-21 21:17:00
这篇文说得不错 某人的推文比较像废话...自己都说效能调校的学问很深 结果也只能提别人说的merge是在自打脸吗

Links booklink

Contact Us: admin [ a t ] ucptt.com