| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1409 人关注过本帖
标题:[求助]数据库查询问题,急晕了~
取消只看楼主 加入收藏
滚水六脚
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2004-8-16
收藏
得分:0 
现在已经改为:
SELECT Top 1000 seekerID,trueName,gender,age,MaxEduLevel,maxEduSchool,maxEduCourse,LastUpdateDate,WorkPos FROM v_seekerInfo WHERE isvalid = 1 AND ( MaxEduLevel >= 20 AND MaxEduLevel <= 70) AND (age >= 18 AND age <= 60) AND abs(DateDiff(d,Getdate(),LastUpdateDate))<=90 and ((Expr1 like '%人事%') Or (Expr1 like '%采购%') ) GROUP BY seekerID,trueName,gender,age,MaxEduLevel,maxEduSchool,maxEduCourse,WorkPos,LastUpdateDate
就是没办法把ORDER BY lastUpdateDate DESC 排序搞上去
怎么办?是不是要搞索引?怎么搞?
2006-11-07 17:17
滚水六脚
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2004-8-16
收藏
得分:0 
关键字不是固定的,个数也不规定只有两个,找不到方法做!指教!

[此贴子已经被作者于2006-11-7 17:53:12编辑过]


2006-11-07 17:51
滚水六脚
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2004-8-16
收藏
得分:0 
已经用了储存过程,不过有了新问题:
https://bbs.bc-cn.net/viewthread.php?tid=101568
帮忙看看……
也不知道速度怎么样?要试!
2006-11-09 08:13
滚水六脚
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2004-8-16
收藏
得分:0 
还是在这里贴吧:
CREATE PROCEDURE [sp_Seekerinfo]
@LastUpdateDate varchar(50) , @GetSearch Nvarchar(800)
As
Begin
declare @s Nvarchar(1000)
set @s = 'SELECT Top 1000 seekerID,trueName,gender,age,MaxEduLevel,maxEduSchool,maxEduCourse,WorkPos,LastUpdateDate FROM v_seekerInfo WHERE isvalid = 1 '+@GetSearch+' GROUP BY seekerID,trueName,gender,age,MaxEduLevel,maxEduSchool,maxEduCourse,WorkPos,LastUpdateDate order by '+@LastUpdateDate+' desc'
Exec(@s)
exec sp_executesql @s
End
GO

其中:@GetSearch为搜索条件,但还是超时了!?
2006-11-09 09:11
滚水六脚
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2004-8-16
收藏
得分:0 
看了储存过程写跟没写一回事
2006-11-09 09:38
滚水六脚
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2004-8-16
收藏
得分:0 
找了三天,问题终于找了:

“排序:order by


在没有索引且有重复值且有空值的字段上排序速度最慢,所以要不允许空,这样之后才可以建立索引;尽可能的避免重复,这样可建立排序最快的唯一索引或聚集索引。”


试了N多方法,没用,请大侠指教:



SELECT Top 1000 seekerID,trueName,gender,age,MaxEduLevel,maxEduSchool,maxEduCourse,LastUpdateDate,WorkPos FROM v_seekerInfo WHERE isvalid = 1 AND ( MaxEduLevel >= 20 AND MaxEduLevel <= 70) AND (age >= 18 AND age <= 60) AND abs(DateDiff(d,Getdate(),LastUpdateDate))<=90 and ((Expr1 like '%人事%') Or (Expr1 like '%采购%') ) GROUP BY seekerID,trueName,gender,age,MaxEduLevel,maxEduSchool,maxEduCourse,WorkPos,LastUpdateDate ORDER BY lastUpdateDate DESC
加上 ORDER BY lastUpdateDate DESC 慢的原因是因为lastUpdateDate设置后台刷新,重复的数据不下6万!
现在怎么解救才好?

[此贴子已经被作者于2006-11-9 17:34:27编辑过]

2006-11-09 17:33
快速回复:[求助]数据库查询问题,急晕了~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.463966 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved