论坛首页 招聘求职版 面试秘籍

早上面试的一道数据库问题,请教怎么做

浏览 5153 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-05-18
越看越有意思
   
0 请登录后投票
时间:2008-05-18
vicksong 写道
ddandyy 写道
这种业务在做维护项目的时候经常会遇到的......
式样变更之后 为了最少的修改量 只改SQL 是最方便的


试想一下,用JAVA与数据库结合实现:
一个while的事,何必搞得那么深沉呢?

你是程序员吗?
你说一个sql的能解决为什么要while
while能好吗?
优秀的程序员都是都是精益求精的写代码,不像你这样随便用上几句语句就完成了就完事的。
   
0 请登录后投票
时间:2008-05-18
个人认为,之所以使用数据库就是考虑的大规模复杂操作的性能问题,世界上任何事物存在都是有他道理的。这也就是为什么Hibernate保留了createSQLQuery方法的原因
,人们都说Hibernate性能有问题,解决的主要方法两点:1 使用缓存和优化配置,2 在关键部位使用本地SQL。
SQL:程序员的基本功呀。
   
0 请登录后投票
时间:2008-05-19
zhouky4665 写道
vicksong 写道
ddandyy 写道
这种业务在做维护项目的时候经常会遇到的......
式样变更之后 为了最少的修改量 只改SQL 是最方便的


试想一下,用JAVA与数据库结合实现:
一个while的事,何必搞得那么深沉呢?

你是程序员吗?
你说一个sql的能解决为什么要while
while能好吗?
优秀的程序员都是都是精益求精的写代码,不像你这样随便用上几句语句就完成了就完事的。


Diu,最讨厌这种在技术上死钻牛角尖的人了,说不定一个复杂的SQL要花上一个程序员一天的时间,而配合JAVA的话,十分钟就搞定,对用户使用中也不产生任何的负面影响,说实在话,我宁愿招后者,也不会招象前者那样的所谓的技术高手......
   
0 请登录后投票
时间:2008-05-21
大家发答案之前都测了嘛?
没测的话,能不能标明一下?
   
0 请登录后投票
时间:2008-05-21
跑了一下,感觉就Oracle 的 Merge 可以搞定。
update a inner join b on a.id=b.id set a.col1=b.col1,a.col2=b.col2 where b.age>40
实现不了“a无b有”数据的写入。
   
0 请登录后投票
时间:2008-05-21
mysql 用 inner join 比较优化
   
0 请登录后投票
时间:2008-05-21
aimer311 写道
大概是这样的。
两张表:
A:id,age,column1,column2
B:id,age,column1,column2
A.id 与 B.id关联。
将B中age>40的column1,column2更新到A的相应记录中,只能写一个语句。
写出mysql和oracle两个版本。
不知道怎么写。


delete from B where age > 40;

delete from A where id in (select id from B where age > 40);

这样能合题意么~`
   
0 请登录后投票
时间:2008-05-24
总结前面的答案,测试了下,在mysql中可以用的就两句:
update a inner join b on a.id=b.id
set A.column1 =b.column1,a.column2=b.column2
where b.age>40;

update A,B
set A.column1 = (
select b.column1
from B where B.id = A.id
and B.age > 40
),
A.column2 = (
select b.column2
from B where B.id = A.id
and B.age > 40
) where b.id=a.id and b.age>40;

oracle没有环境可以测试
   
0 请登录后投票
时间:2008-06-12
ORACLE的大数量下,使用UPDATE会很耗费资源,而且要更新时间长,使用merge效率会比较高.

还有说将SQL改为while的那个哥们,我个人觉得其他人不是钻牛角尖,对于特别大的数据量来说,你那一条数据while一次的方法不太可行,慢....而且一次应该不能全部执行所有数据,为了保证缓存不溢出,你可能要多次运行你的程序.

对于开发来说,我也还是入门级别.说的如果不对还请各位大侠批评
   
0 请登录后投票
论坛首页 招聘求职版 面试秘籍

跳转论坛:
JavaEye推荐