美好的一天,我在优化数据库查询方面是一个新手......实际上这是我第一次......我已经完成了我的研究并发现使用临时表可以帮助我提高查询性能..除了像使用索引等其他解决方案,但虽然他们有很多关于它的博客,但我还没有找到关于它的详细教程......我希望如果你可以提供帮助。鉴于这种示例表...在sql server 2008中使用临时表优化表的性能r2
表模式::
StudentInfo:
StudentID
LAstname
FirstName
YearCode
SectionCode
TeacherInfo:
SectionCode
TeacherID
TeacherName
GradeInfo:
StudentID
AverageGrade
CashierRecord:
StudentID
EnrolledDate
ModeOfPayment
AmountDue
查询我已经试过......
Select
s.StudentID,
s.FirstName,
s.LastName,
t.Teacher,
g.AverageGrade,
c.EnrolledDate
From StudentInfo s
LEFT JOIN TeacherInfo t ON s.StudentID= t.StudentID
LEFT JOIN GradeInfo g ON s.StudentID= g.StudentID
LEFT JOIN GradeRecords c ON s.StudentID= c.StudentID
如果给定的查询将检索大量数据(前。 100,000条记录),查询的性能肯定会降低......可能您会解释我怎样才能利用临时表来存储多个表中的数据,以便检索可能会更容易...
您是否检查过所有比较列(StudentID)上的索引?你能提供一些exampledata吗? – wumpz
检索是什么意思?你想处理所有返回的数据或过滤集? – wumpz
耶我几乎忘了,因为我刚刚构造了一个示例问题......他们实际上都有PK,它被视为聚集索引..但索引放在一边...我读的是1)创建一个临时表2)填充它来自旧表的数据(具有来自不同表的数据)3.从临时表中选择数据4.删除表......如何在提取大量数据时真正提高选择查询的性能? –