那些年我们追过的SQL
2015-02-02 10:55
232 查看
SQL是大学必修课程之一
二维表结构,看着就是一种美感.
针对近期感情,聊一聊,在平时容易犯的一个错误,看看你是不是中枪了.
我们还是选用传统的student表(请不要考虑表的结构是否合理)
ID NAME COURCE PHONE
001 felix 80 13412345678
002 john 91 13212345678
现在的需要是由于评卷错误,需要每个人的成绩都+2分,, 怎么办?
方案1
采用recordset先把数据填充在本地,然后本地修改course, 最后调用update方案
方案2
依次从数据库里取出每一行数据的COURSE,然后COURSE+2 逐行更新.
方案3
update student set course = course +2;
性能排序
方案3 > 方案1 > 方案2
方案1 比 方案2稍好, 不用每次自己调用代码更新.
但方案1与方案2都有一个致命的问题,当获取到本地,但数据库里的数据又被其他终端修改.这样就会报数据库错误...
所以最好的方式是采用方案3
你中枪了吗?
二维表结构,看着就是一种美感.
针对近期感情,聊一聊,在平时容易犯的一个错误,看看你是不是中枪了.
我们还是选用传统的student表(请不要考虑表的结构是否合理)
ID NAME COURCE PHONE
001 felix 80 13412345678
002 john 91 13212345678
现在的需要是由于评卷错误,需要每个人的成绩都+2分,, 怎么办?
方案1
采用recordset先把数据填充在本地,然后本地修改course, 最后调用update方案
方案2
依次从数据库里取出每一行数据的COURSE,然后COURSE+2 逐行更新.
方案3
update student set course = course +2;
性能排序
方案3 > 方案1 > 方案2
方案1 比 方案2稍好, 不用每次自己调用代码更新.
但方案1与方案2都有一个致命的问题,当获取到本地,但数据库里的数据又被其他终端修改.这样就会报数据库错误...
所以最好的方式是采用方案3
你中枪了吗?
相关文章推荐
- 那些年我们一起追过的缓存写法(一)
- 那些年我们在spark SQL上踩过的坑
- 那些年我们写过的T-SQL(中篇)
- 那些年我们追过的网络库(PartI)
- 《那些年,我们一起追过的女孩》观后感
- 那些年我们在spark SQL上踩过的坑
- 那些年我们一起追过的缓存写法(转)
- 那些年我们一起追过的缓存写法(一)
- 那些年我们追过的网络小说
- 那些年,我们追过的RPC
- 那些年我们一起追过的缓存写法(一)
- 那些年我们一起追过的Linux命令
- 那些年我们一起追过的Shell Script
- 那些年我们一起追过的51学院
- 那些年我们在spark SQL上踩过的坑
- 那些年我们写过的T-SQL(上篇)
- 那些年我们写过的T-SQL(下篇)(转)
- 那些年我们一起追过的ACM
- 那些年我们追过的javascript框架
- 那些年我们追过的网络库(PartI)