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’
则应该如何建立索引才能提高该查询的速度?