MySQL查询优化索引的应用细节
与其他学科一样,优化查询性能在很大程度上取决于开发人员的直觉。幸运的是,像MySQL这样的数据库有一些辅助工具。本文简要讨论了三种工具:使用索引,使用解释来分析查询,以及调整MySQL的内部配置。
MySQL允许对数据库表进行索引,以便在一开始时不扫描整个表就能快速找到记录,从而大大加快查询速度。每个表最多可以执行16个索引,MySQL还支持多列索引和全文检索。
将索引添加到表中非常简单,只需调用一个创建索引命令并为索引指定它的域。
清单A给出了一个例子:
复制代码代码如下所示:
MySQL >创建用户指数idx_username(用户名);
在这里,对用户表的用户名字段进行索引,以确保WHERE或WHERE子句中的SELECT查询比未添加索引的索引快得多。
值得注意的是,指数却像一把双刃剑,它通常是不必要的索引表的每一个领域,它可能导致运算速度较慢,因为MySQL重新索引的每个额外工作时随时插入或修改数据表。另一方面,避免了表的每一个领域的索引也不是一个好主意,因为查询操作的速度减慢时,提高插入记录的速度。这就需要找到一个平衡点,例如,在设计指标体系,它是考虑表的主要功能一个明智的选择(数据修复和编辑)。