【发布时间】:2010-01-06 22:17:41
【问题描述】:
我有一个查询,在执行计划中有一个非常昂贵的 INDEX SEEK 操作。为了追查原因,我设置了 IO STATISTICS 并运行它。在问题部分,它给出了以下统计数据:
表 '#TempStudents_Enrollment2_________________________________________________________________000000004D5F'。扫描计数 0,逻辑读取 60, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表“工作台”。扫描计数 0, 逻辑读取 0,物理读取 0, read-ahead 读取 0,lob 逻辑读取 0, lob 物理读取 0, lob 预读为 0。
表 '#TempRace2__________________________________________________________________________________000000004D58'。扫描计数 1,逻辑读取 1, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表“工作台”。扫描计数 0, 逻辑读取 0,物理读取 0, read-ahead 读取 0,lob 逻辑读取 0, lob 物理读取 0, lob 预读为 0。
表'RefRace'。扫描计数 120, 逻辑读取 240,物理读取 1, read-ahead 读取 0,lob 逻辑读取 0, lob 物理读取 0, lob 预读为 0。
表“RefFedEnctyRaceCatg”。扫描 计数 18,逻辑读取 36,物理 读取 2,预读读取 0,lob 逻辑读取 0,lob 物理读取 0, lob 预读为 0。
表“#43B0BA0F”。扫描计数 1, 逻辑读取 60,物理读取 0, read-ahead 读取 0,lob 逻辑读取 0, lob 物理读取 0, lob 预读为 0。
表“#42BC95D6”。扫描计数 1, 逻辑读取 60,物理读取 0, read-ahead 读取 0,lob 逻辑读取 0, lob 物理读取 0, lob 预读为 0。
表“#41C8719D”。扫描计数 1, 逻辑读取 60,物理读取 0, read-ahead 读取 0,lob 逻辑读取 0, lob 物理读取 0, lob 预读为 0。
表“#40D44D64”。扫描计数 1, 逻辑读取 60,物理读取 0, read-ahead 读取 0,lob 逻辑读取 0, lob 物理读取 0, lob 预读为 0。
表 '#LEA2___________________________________________________________________________________000000004D56'。扫描计数 1,逻辑读取 60, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表“#39332B9C”。扫描计数 1, 逻辑读取 60,物理读取 0, read-ahead 读取 0,lob 逻辑读取 0, lob 物理读取 0, lob 预读为 0。
表 '#School2__________________________________________________________________________________000000004D57'。扫描计数 1,逻辑读取 29164, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表 '#GenderKey________________________________________________________________________________000000004D5A'。扫描计数 1,逻辑读取 29164, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表 '#LangAcqKey_______________________________________________________________________________000000004D5B'。扫描计数 1,逻辑读取 29164, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表 '#TransferCatKey_________________________________________________________________________000000004D5C'。扫描计数 1,逻辑读取 29164, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表 '#ResCatKey________________________________________________________________________________000000004D5D'。扫描计数 1,逻辑读取 29164, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表 'RPT_SnapShot_1_4_StuPgm_Denorm'。扫描 计数 2344954,逻辑读取 4992518, 物理读取 16,预读读取 8, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
表“#3FE0292B”。扫描计数 1, 逻辑读取 2344954,物理读取 0,预读读取 0,lob 逻辑 读取 0,lob 物理读取 0,lob 预读为 0。
表 'RPT_SnapShot_1_4_StuEnrlmt_Denorm'。 扫描计数 20,逻辑读取 87679, 物理读取 0,预读读取 87425,lob 逻辑读取 0,lob 物理读取 0,lob 预读 0.
表 '#GradeKey_________________________________________________________________________________000000004D59'。扫描计数 1,逻辑读取 1, 物理读取 0,预读读取 0, lob 逻辑读取 0,lob 物理 读取 0,lob 预读读取 0。
当我想提高性能时,我应该在这里寻找什么?扫描计数超过 200 万的那条线在我看来很可疑,但我真的不知道。有没有人在这里看到任何我应该更详细地研究的东西?
【问题讨论】:
-
显示表结构和示例数据以及实际查询会很有用。
标签: sql sql-server sql-server-2005