标题: 一个SQL的写法调优
dianzi011sh
LU新生
Rank: 1



UID 97476
精华 0
积分 3
帖子 6
活跃指数 4
LU金币 10 个
LU金条 0 个
阅读权限 10
注册 2007-10-18
 
发表于 2007-12-31 13:33  资料  个人空间  短消息  加为好友 
一个SQL的写法调优

最近要写一个shell,针对每一组数据(一个4000组左右)都做同一个操作:

先select 一个时间列出来,然后判断第300行的这个时间:
如果第300行的这个时间在距今90天之外,取前300行
如果第300行的这个时间在距今90天之内,取前90天

我现在的方法是反复的生成临时文件并读取临时文件,写出的shell效率过低

不知道那位有什么好的思路,谢谢

顶部
beginner-bj
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 9471
精华 15
积分 1400
帖子 2409
活跃指数 186
LU金币 4404 个
LU金条 0 个
阅读权限 210
注册 2004-1-16
 
发表于 2008-1-1 21:00  资料  个人空间  短消息  加为好友 
没看懂。到底是SQL问题?还是SHELL SCRIPT问题?





我的博客:http://blog.chinaunix.net/index.php?blogId=739欢迎访问,并请多多批评指正。
顶部
iwantin
LU新生
Rank: 1



UID 37314
精华 0
积分 1
帖子 2
活跃指数 0
LU金币 2003 个
LU金条 0 个
阅读权限 10
注册 2005-11-30
 
发表于 2008-3-4 15:09  资料  个人空间  短消息  加为好友 
应该可以用rownumber() over()直接取出第300行的时间值,db2有个函数能判断日期的,这样写,应该会简单很多,效率应该可以接受

顶部
 



当前时区 GMT+8, 现在时间是 2008-7-25 05:53
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.051255 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver - WAP