导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

SQL2000 这个题怎么建立索引 先谢谢了

ily62 2008-01-09 05:06:32
现在越来越多的公司将自己对人才的需求放到网上,以期望让更广范围的人能够看到,并寻找真正适合本公司要求的人才,而更多的求职者也倾向于在网上寻求适合自己的工作。某网站为了满足这种需求,使用SQL Server建立了一个名称为JobApplication的数据库,并在该数据库下建立的3张表,分别为position(职位表)、talent(人才表)和appoint(应聘表),各张表的创建语句如下:
create database jobApplication
go
use jobApplication
go
--招聘职位表
create table position(
pID char(10) PRIMARY KEY, --招聘职位ID
pName char(30), --招聘职位名称
pCompany char(30), --招聘公司名称
pSalary int, --招聘职位薪水
pNum int --招聘人数
)

--求职人才表
create table talent(
tID char(10) PRIMARY KEY, --求职人员ID
tName char(8), --求职人员姓名
tSex char(2), --求职人员性别
tAge int, --求职人员年龄
tSchool char(20) --求职人员学历
)
--求职者应聘表
create table appoint(
tID char(10), --求职人员ID
pID char(10), --招聘职位ID
aDate DateTime, --求职者在网站上应聘某职位日期
isOK int, --标志该次应聘是否成功(成功取值为1,不成功取值为0)
PRIMARY KEY(tID, pID),
FOREIGN KEY (tID) REFERENCES talent(tID)
FOREIGN KEY(pID) REFERENCES position(pID)
)

显然,一个职位可以由多个求职者应聘,一个求职者可以应聘多个职位。

若现在经过需求分析,发现在实际应用中,经常要查询某个职位的应聘者的详细信息(请参照第四大题中的talent表和appoint表),即经常执行如下SQL语句:
SELECT talent.*
FROM talent, appoint
WHERE appoint.tID=talent.tID AND appoint.pID=’W3008’
则应该如何建立索引才能提高该查询的速度?

...全文
225 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsh236 2008-01-21
看来只有建立复合索引没有什么好的方法
回复
sp4 2008-01-10
appoint表中的appoint.tID 、appoint.pID 建上复合索引
回复
tim_spac 2008-01-09
create index idx_appoint_tp on appoint(tID,pID)
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告