【发布时间】:2012-04-28 16:24:06
【问题描述】:
我有一个 Access 2003 DB,我想提高它的性能。昨天看了一篇关于执行计划(Show Plan)的文章,今天针对这个查询运行了我的show Plan:
SELECT tb_bauteile_Basis.*
FROM tb_bauteile_Basis
ORDER BY tb_bauteile_Basis.Name;
我在Name字段上放了一个索引,并显示它的查询计划:
Inputs to Query -
Table 'tb_bauteile_Basis'
Using index 'Name'
Having Indexes:
Name 1553 entries, 17 pages, 1543 values
which has 1 column, fixed
ID 1553 entries, 4 pages, 1553 values
which has 1 column, fixed, clustered and/or counter
- End inputs to Query -
01) Scan table 'tb_bauteile_Basis'
Using index 'Name'
接下来,我从Name中删除了索引,新的查询计划为:
- Inputs to Query -
Table 'tb_bauteile_Basis'
Using index 'PrimaryKey'
Having Indexes:
PrimaryKey 1553 entries, 4 pages, 1553 values
which has 1 column, fixed, unique, clustered and/or counter, primary-key, no-nulls
Plauskomponente 1553 entries, 4 pages, 3 values
which has 1 column, fixed
Name 1553 entries, 17 pages, 1543 values
which has 1 column, fixed
ID 1553 entries, 4 pages, 1553 values
which has 1 column, fixed, clustered and/or counter
- End inputs to Query -
01) Scan table 'tb_bauteile_Basis'
Using index 'PrimaryKey'
我应该如何解读这两个查询计划?
在第二个 Showplan 中,我应该为Plauskomponente,Name,ID 创建一个索引,我应该为这三个字段创建一个复合索引吗?如何确定是否应该制作复合索引?
为什么Plauskommponente没有出现在第一个展示计划中?
【问题讨论】:
标签: sql database ms-access sql-execution-plan