【发布时间】:2014-02-01 12:52:13
【问题描述】:
我不是专家。 我有以下查询,其中包含 10 个表 MainTable 有 10 个字段 1st Prime Key 和 9 个名为 TableE1 - 10 的表的其余外键。
以下查询在每个表中进行外连接,我想用索引优化这个查询。
我想知道,我们如何使用索引优化查询,这个查询在 36 秒内获取 10 lacs(100 万)条记录,我们可以减少多少时间?
MainTable 包含 10 lacs(100 万)条记录,TableE1-9 每个表包含 5000 条记录
select M.RecID,
M.E1, E1.Descr as E1_D,
M.E2, E2.Descr as E2_D,
M.E3, E3.Descr as E3_D,
M.E4, E4.Descr as E4_D,
M.E5, E5.Descr as E5_D,
M.E6, E6.Descr as E6_D,
M.E7, E7.Descr as E7_D,
M.E8, E8.Descr as E8_D,
M.E9, E9.Descr as E9_D
from ((((((((tableMain M
Left Outer Join TableE1 E1 ON (E1.RecID = M.E1) )
Left Outer Join TableE2 E2 ON (E2.RecID = M.E2) )
Left Outer Join TableE3 E3 ON (E3.RecID = M.E3) )
Left Outer Join TableE4 E4 ON (E4.RecID = M.E4) )
Left Outer Join TableE5 E5 ON (E5.RecID = M.E5) )
Left Outer Join TableE6 E6 ON (E6.RecID = M.E6) )
Left Outer Join TableE7 E7 ON (E7.RecID = M.E7) )
Left Outer Join TableE8 E8 ON (E8.RecID = M.E8) )
Left Outer Join TableE9 E9 ON (E9.RecID = M.E9)
Order by RecID
【问题讨论】:
-
我想在我的应用程序的 datagridview 中显示这个
标签: sql sql-server indexing query-optimization