## 8.3 优化和索引 提升 [`SELECT`](https://dev.mysql.com/doc/refman/8.0/en/select.html) 操作的性能的最好方式是测试在一个或多个列上创建索引. 索引的作用类似于表的记录指针, 允许查询快速确认哪些记录匹配 `WHERE` 条件子句, 并检索这些就记录的其他列值. 所有的 MySQL 数据类型都可以被索引. 尽管为查询中每个可能会用到的列创建索引非常有诱惑力, 但不必要的索引为 MySQL 确定使用哪些索引浪费空间和时间. 索引会增加插入, 更新和删除的成本, 因为必须更新每个索引. 你必须找到最佳平衡以便使用最佳索引实现快速查询.