# 聚合操作分析

+ 创建索引
+ 执行计划

![left](./student-guide/diagram/01-32-1.png)

```
ALTER TABLE t1 ADD INDEX idx_dt
```

------------------------------------------------------------

从执行计划看，因为k 字段上没有索引，所以没法使用索引进行过滤和 count 计数，走的是 TableFullScan 全表扫描，大概扫描1000万(基于统计信息估算值)条记录，经过 Selection 算子过滤后，大概有 120万(基于统计信息估算值) 记录，执行时间大概在 2.8 秒，这个怎么优化呢？我们看到全表大概有1000 万记录，符合条件的记录数大概有 120万 ，我们可以在 k 字段上加一个索引，通过索引扫描符合条件的大概 120万 数据就好，执行加索引 SQL：

```
alter table t1 add index idx_dt
```

然后再看下执行计划：

（略）
